﻿<?xml version="1.0" encoding="utf-8"?>
<blog root-url="/BlogEngine.Web/" date-created="2009-08-28T10:23:59" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.blogml.com/2006/09/BlogML">
  <title type="text"><![CDATA[Заметки Веб-разработчика]]></title>
  <sub-title type="text"><![CDATA[You never know what you can do without until you try.]]></sub-title>
  <authors>
    <author id="AndrewK" date-created="2009-08-28T10:23:59" date-modified="2009-08-28T10:23:59" approved="true" email="a.kuzmenko2007@gmail.com">
      <title type="text"><![CDATA[AndrewK]]></title>
    </author>
  </authors>
  <extended-properties>
    <property name="CommentModeration" value="Anonymous" />
    <property name="SendTrackback" value="Yes" />
  </extended-properties>
  <categories>
    <category id="10930587-3d56-4bfe-89ca-e5269796c844" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[.NET]]></title>
    </category>
    <category id="8e0111bd-44b1-4404-8256-e78dbe75b56c" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[ASP.NET]]></title>
    </category>
    <category id="31a6537e-fa74-432e-b38a-4f2615a3da2e" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[General]]></title>
    </category>
    <category id="7cdbe65c-f7a7-4ae4-9885-3338d2192021" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[MCP]]></title>
    </category>
    <category id="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[Microsoft]]></title>
    </category>
    <category id="138205a2-d987-4a85-aa5f-c0d680d35f4e" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[SEO]]></title>
    </category>
    <category id="d5338d2f-681b-4909-97b7-ef2b3ba714a5" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[SQL]]></title>
    </category>
    <category id="5c1a7791-b10c-4032-99ae-37605b09eb96" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[Блог]]></title>
    </category>
    <category id="c546e127-e412-4620-89ea-3e5833469830" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[Веб-приложения]]></title>
    </category>
    <category id="bab5bf47-abd6-4b6c-b452-d9a9bc0f2a34" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[Жизнь]]></title>
    </category>
    <category id="17914afd-98b7-4829-b118-4c99ca86be19" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[Исходники]]></title>
    </category>
    <category id="d4ddb9b2-e6b1-4ef8-9217-a6a52cb47501" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[Машины]]></title>
    </category>
    <category id="64ffe3fd-8fb1-4019-8221-a120da6acd5b" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[Общее]]></title>
    </category>
    <category id="aad9f70e-dcd1-48f3-a316-cbafcce1301d" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[Работа]]></title>
    </category>
    <category id="97a2581b-33d7-4013-8f99-4da2cc21009c" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[Сервисы]]></title>
    </category>
    <category id="372e902d-5410-4be9-8601-9bda68568af3" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[Хостинг]]></title>
    </category>
    <category id="845b9178-1908-4720-acb4-4245a7b69cd6" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0">
      <title type="text"><![CDATA[Юмор]]></title>
    </category>
  </categories>
  <posts>
    <post id="7b3d29a5-6fa7-4919-b5fa-16694c3e28f3" date-created="2009-04-23T15:45:00" date-modified="2009-08-10T22:17:39" approved="true" post-url="/BlogEngine.Web/post/2009/04/23/HostBizUacom-review.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Обзор HostBizUa.com]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2009%2f4%2fhosting_16.gif" alt="" align="left" />Где-то полгода назад я перенёс один из своих сайтов с <a href="http://hostbizua.com/">HostBizUa.com</a> на <a href="http://www.hosting.ua/">Hosting.ua</a>, об этом я упоминал в <a href="/post/2008/10/19/Hostingua-review.aspx">обзоре </a><a href="/post/2008/10/19/Hostingua-review.aspx">H</a><a href="/post/2008/10/19/Hostingua-review.aspx">osting.ua</a>.
Тогда же я обещал, что напишу причины смены хостера, но, к сожалению,
выполнить обещание забыл. Так что буду навёрстывать упущенное и впоминать дела минувшых дней.<br />
<br />
Основной
причиной ухода от HostBizUa.com было следующее: в определённый момент
мне понадобилось сохранять файлы на сервер с сайта, но такой
возможности не оказалось, потому что учётная запись под которой
крутится IIS&nbsp; не имела права на запись. Обнаружив это, я написал письмо
сапорту:
</p>
<p>
<em>Доброй ночи.<br />
Такая ситуация: на сайте должна быть возможность
добавления файлов. Учётная запись, от имени которой идёт работа в IIS
сервере, не имеет прав на запись. Как быть?</em><br />
<br />
<em>от 22.12.07</em><br />
<br />
Ответ:
</p>
<p>
<em>Это же не Unix хостинг где есть chmod.</em>
</p>
<p>
<em>Используя Windows хостинг Вы должны были это знать, или хотя бы уточнить.</em>
</p>
<p>
<em>В этой ситуации можем рекомендовать только использовать Unix хостинг.</em>
</p>
<p>
<em>--&nbsp;</em>
</p>
<p>
<em>С уважением,</em>
</p>
<p>
<em>Служба Поддержки HostBizUa</em>
</p>
Фраза <strong><em>&quot;Используя Windows хостинг Вы должны были это знать</em></strong>&quot;
тогда меня убила наповал. После таких слов у меня пропало желание иметь
какие-то дела с данным хостером. В Hosting.ua на тот же вопрос мне
ответили:<br />
<br />
&quot;<em>Мы по требованию пользователя можем установить права
записи ASP.NET на необходимую ему папку. Панель управления этого
сделать не позволяет.</em>&quot;
<p>
Ещё был негативным тот факт, что домен они зарегистрировали на себя, хотя в том же Hosting.ua всё с точностью наоборот.
</p>
<p>
Немало
важным также является цена за хостинг. В то время, если не изменяет
память, разница по минимальному тарифу составляла чуть больше 100 грн.
Посмотрел сейчас разница выросла до 300 грн.
</p>
<p>
Вот, впринципе, и всё что удалось вспомнить. Выбор за Вами!&nbsp;
</p>
]]></content>
      <post-name type="text"><![CDATA[Обзор HostBizUa.com]]></post-name>
      <excerpt type="text"><![CDATA[Отзыв о хостинг-провайдере HostBizUa.com]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="c546e127-e412-4620-89ea-3e5833469830" />
        <category ref="372e902d-5410-4be9-8601-9bda68568af3" />
      </categories>
      <tags>
        <tag ref="блог" />
        <tag ref="asp.net" />
        <tag ref="веб-приложения" />
        <tag ref="хостинг" />
        <tag ref="обзор" />
      </tags>
      <comments>
        <comment id="0da65e46-2ca7-4d80-9caf-204d8094d3dc" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-05-31T09:07:48" date-modified="2009-05-31T09:07:48" approved="true" user-name="Радкевич С." user-email="9u9@mail.ru" user-ip="93.85.104.103" user-url="http://upgoing.ru/">
          <title type="text"><![CDATA[re: Обзор HostBizUa.com]]></title>
          <content type="text"><![CDATA[Я бы такую службу поддержки подвесил бы за одно место. Нет бы решить проблему, так они мелют всякую ерунду...]]></content>
        </comment>
        <comment id="15cca8f7-19a3-4e01-9e23-708b6bed4ae9" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-08-02T12:49:40" date-modified="2009-08-02T12:49:40" approved="true" user-name="tablets  " user-email="pinewoodsmith@yahoo.com" user-ip="213.184.244.131" user-url="http://www.nedala.com/">
          <title type="text"><![CDATA[re: Обзор HostBizUa.com]]></title>
          <content type="text"><![CDATA[Сейчас я как раз ищу хостинг для моего сайта, хочется выбрать что-нибудь действительно стоящие, чтобы потом не тратить время и нервы.]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="e6af3cac-d1e4-4712-878a-ea9cd58c66d3" date-created="2009-04-14T08:00:00" date-modified="2009-04-14T03:11:27" approved="true" post-url="/BlogEngine.Web/post/2009/04/14/ASPNET-40-Whats-Next.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[ASP.NET 4.0: Что дальше?]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2009%2f4%2fASP+NET+Logo_thumb.gif" alt="" align="left" />Посмотрел на днях презентацию c конференции MIX <a id="jkik" href="http://videos.visitmix.com/MIX09/T46F" title="http://videos.visitmix.com/MIX09/T46F">ASP.NET 4.0: What&#39;s Next?</a>,
которую проводил Stephen Walter (Senior Program Manager at Microsoft).
Должен сказать, что улучшения в следующей версии ASP.NET, а также в
Visual Studio 2010, приятно удивили. Что же нового нам готовит ASP.NET
4.0?<br />
<br />
<strong>ViewState</strong><br />
Как известно, ViewState во всех
контролах включен по умолчанию. За частую такоё поведение не нужно, но
выключать ViewState разработчики забывают, толи просто ленятся. В
ASP.NET 4.0 в класс <em>Control</em>, который явлется базовым для страниц, контролов, добавлено новое свойство ViewStateMode, которое принимает следующие значения:<br />
&nbsp;&nbsp; &nbsp;- Enabled<br />
&nbsp;&nbsp;&nbsp; - Disabled<br />
&nbsp;&nbsp;&nbsp; - Inherit (Default)<br />
Таким
образом, если для страницы установить ViewStateMode=&quot;Disabled&quot;, тогда во
всех контролах, находящихся на этой странице, ViewState будет выключен.
Если нужно будет включить ViewState для отдельно взятого контрола, ему
нужно будет установить ViewStateMode=&quot;Enabled&quot;.<br />
<br />
<strong>Control ID</strong><br />
В
предидущих версиях ASP.NET контролировал свойство ID, в результате чего
его было не возможно использовать в CSS и JavaScript. В новой версии
это поведение свойства ID было изменено путём добавления в класс <em>Control </em>свойства <em>ClienIdMode</em>, принимающего следующие значения:<br />
- Legacy (генерация значений ID будет происходить также, как и в предидущих версия, название возможно будет изменено к релизу )<br />
- Static (значение свойства ID остается таким же, каким его установил разработчик)<br />
- Predictable (позволяет добавлять суффикс/префикс к свойству ID, могу ошибаться)<br />
- Inherit (default)<br />
<br />
<strong>FormView</strong><br />
Если раньше контрол <em>FormView</em> отрисовывался на основе таблиц, что накладывало определённые ограничения в его использовании, то в новой версии FormView
добавлено булевское свойство RenderTable. Данное свойство позволяет
отключать прорисовку на основе таблиц и дизайнер, в свою очередь,
получает полный контроль над разметкой.<br />
<br />
<strong>Url Routing (SEO улучшения</strong><strong>)</strong><br />
Разработанная
библиотека System.Web.Routing для ASP.NET MVC Framework оказалось
настолько гибкой, что её решили использовать и в обычном ASP.NET. С
помощью этой библиотеки можно будет строить &quot;красивые&quot; URL&#39;ы, что
несомненно хорошо для Search Engine Optimization (SEO).<br />
<br />
<strong>Другие SEO улучшения</strong><br />
В
класс Page добавлены свойства Description, Keywords. Также добавлен
новый тип редиректа Response.RedirectPermanent(new url), который
использует статус-код 301 (moved permanently).<br />
<br />
<strong>QueryExtender Control </strong><br />
Добавлен
новый контрол который работает с интерфейсом IQueryable и позволяет
фильтровать данные. Может легко использоваться для создания страниц
поиска.
</p>
<p>
<em>PS: Всё выше описанное српаведливо на текущий момен, но к релизу что-то может поменяться </em>
</p>
]]></content>
      <post-name type="text"><![CDATA[ASP.NET 4.0: Что дальше?]]></post-name>
      <excerpt type="text"><![CDATA[В этом посте описываются улучшения новой версии ASP.NET 4.0]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="138205a2-d987-4a85-aa5f-c0d680d35f4e" />
        <category ref="c546e127-e412-4620-89ea-3e5833469830" />
      </categories>
      <tags>
        <tag ref=".net" />
        <tag ref=".net framework" />
        <tag ref="asp.net" />
        <tag ref="веб-приложения" />
        <tag ref="разработка" />
        <tag ref="seo" />
      </tags>
    </post>
    <post id="7af335e2-c184-4d32-ba64-00182e023eff" date-created="2009-04-14T03:11:00" date-modified="2009-04-14T03:39:01" approved="true" post-url="/BlogEngine.Web/post/2009/04/14/Implement-inheritance-in-NHebirnate-(table-per-class-hierarchy).aspx" type="normal" hasexcerpt="true" views="0" is-published="False">
      <title type="text"><![CDATA[Реализация наследования в NHebirnate  (table-per-class-hierarchy)]]></title>
      <content type="text"><![CDATA[<p>
Возникла необходимость сохранять в базу с помощью NHebirnate такую вот структуру классов:<br />
<img src="/image.axd?picture=2009%2f4%2fdiagram.png" alt="" /><br />
Таблица для сохранения обьектов обоих классов используется общая<br />
</p>
<p>
<img src="/image.axd?picture=2009%2f4%2fProduct+Table.png" alt="" />
<br />
Ключевым моментом в реализации наследования (table-per-class-hierarchy)
в NHebirnate является элемент discriminator. Используя этот элемент
можно указать колонку в базе данных, с помощью которой будут
различаться обьекты.<br />
Что же получается?! Смотрим маппинг файл базового класса:<br />
<br />
[code=xml]&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;<br />
&lt;hibernate-mapping
xmlns=&quot;urn:nhibernate-mapping-2.2&quot; default-lazy=&quot;false&quot;
namespace=&quot;Test.Product&quot; assembly=&quot;ProductTest&quot;&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;class name=&quot;Test.Product,ProductTest&quot; table=&quot;Product&quot;&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;id name=&quot;Id&quot; type=&quot;Guid&quot;&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;generator class=&quot;identity&quot; /&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;/id&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;discriminator column=&quot;Type&quot;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;not-null=&quot;true&quot;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;type=&quot;System.String&quot;/&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;property name=&quot;Title&quot; type=&quot;string&quot; /&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;property name=&quot;Description&quot; type=&quot;string&quot; not-null=&quot;false&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/class&gt;<br />
&lt;/hibernate-mapping&gt;[/code]<br />
Чтобы всё заработало в таблице Product создаём колонку Type типа
nvarchar (размер по желанию). В дочернем маппинг файле описываем
дополнительные свойства:<br />
<br />
[code=xml]&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;<br />
&lt;hibernate-mapping xmlns=&quot;urn:nhibernate-mapping-2.2&quot; default-lazy=&quot;false&quot;&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;subclass name=&quot;Namespace, Class&quot; extends=&quot;Test.Product, BookTest&quot; discriminator-value=&quot;Book&quot;&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;property name=&quot;ISBN&quot; type=&quot;String&quot; not-null=&quot;false&quot;/&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;property name=&quot;Author&quot; type=&quot;String&quot; not-null=&quot;false&quot;/&gt;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;property name=&quot;PublishDate&quot; type=&quot;DateTime&quot; not-null=&quot;false&quot;/&gt;<br />
&nbsp;&nbsp; &nbsp;&lt;/subclass&gt;<br />
&lt;/hibernate-mapping&gt;[/code]<br />
Также указываем значение discriminator-value. Именно по этому значению будет определяться принадлежность записи таблицы к тому или иному классу.
</p>
<p>
&nbsp;
</p>
]]></content>
      <post-name type="text"><![CDATA[Реализация наследования в NHebirnate  (table-per-class-hierarchy)]]></post-name>
      <excerpt type="text"><![CDATA[Рассказывается как реализовать наследование в NHebirnate (table-per-class-hierarchy)]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
      </categories>
      <tags>
        <tag ref="mapping" />
        <tag ref=".net framework" />
        <tag ref=".net" />
        <tag ref="c#" />
        <tag ref="orm" />
      </tags>
    </post>
    <post id="28bef6fd-4523-47eb-b006-39f34636012a" date-created="2009-04-13T10:49:00" date-modified="2009-08-10T22:17:18" approved="true" post-url="/BlogEngine.Web/post/2009/04/13/Inside-IIS-and-ASPNET.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[IIS & ASP.NET: Вгляд изнутри]]></title>
      <content type="text"><![CDATA[<p>
Помнится где-то год назад мне задали вопрос о том, как IIS сервер
обрабатывает запросы. Не буду лукавить, тогда я затруднился с ответом.
Но прошло уже немало времени за которое удалось получить необходимые
знания, сообственно, которыми и хочу поделиться.
<br />
</p>
<h3><strong>ISAPI-расширения</strong></h3>
<p>
Разные
типы запросов (имеются ввиду расширения, например, .html, .aspx) IIS
(Internet Information Services) сервер обрабатывает по разному.
Например, расширения .html IIS сервер может
обработать сам. Для обработки таких расширений как .aspx, .asmx, .ashx
используется специальный компонент ISAPI-расширение (Internet Server
Application Programming Interface), в данном случае aspnet_isapi.dll,
которое используется как в IIS5 так и IIS6. Связать новый тип
расширения файла с модулем ISAPI можно в настройках IIS.<br />
<img src="/image.axd?picture=2009%2f4%2fIIS+configuration.png" alt="" /><br />
</p>
<h3><strong>От IIS до ASP.NET</strong></h3>
<p>
Процесс
обработки клиентского запроса на сервере начинается с драйвера
Http.sys, который прослушывает входящие HTTP-запросы. Для наглядности
схема обработки запроса показана на следующем рисунке.
</p>
<p>
<img src="/image.axd?picture=2009%2f4%2fIIS+Structure1.jpg" alt="" /><br />
</p>
<p>
IIS5<br />
В данной
версии IIS сервера все расширения выполняются в рамках процесса
inetinfo.exe. Для взаимодействия с расширениями используются именованые
каналы (named pipes), что, сообственно, не повышает производительности.
В связи с тем, что при обработке запроса приходится пересекать границы
нескольких процессов, создаются дополнительные накладные расходы. Да и
загрузка в контекст процесса <em>inetinfo.exe </em>всех расширений может привести к сбою сервера в случае выхода из строя одного из них.<br />
<br />
IIS6<br />
Начиная
с Windows 2003 драйвер драйвера Http.sys был
интегрирован на уровне ядра Windows. В Windows 2003 также был добавлен
Web Administration Service (WAS), который проверяет расширения
запросов. Если запрос предназначается ASP.NET-приложению (.aspx, .asmx,
.ashx-расширения), WAS создает рабочий
процес w3wp.exe и передает в него запрос, в ином случае запрос
передаётся в IIS.
Благодаря этому обработка запроса происходит быстрее, потому что нет
лишних обращений через границы процессов. <br />
<br />
После
создания рабочего процесса в него загружается среда выполнения .NET,
именно рабочий процесс является хостом CLR. После того, как CLR была
запущена и сконфигурирована нужным образом, происходит вызов метода
ISAPIRuntime.ProcessRequest, который можно сказать и является точкой
входа в ASP.NET. Данный метод создает обьект класса HttpWorkerRequest,
который потом передаётся в статический метод
HttpRuntime.ProcessRequest. <br />
На данный момент существуют три класса, реализующие HttpWorkerRequest.
</p>
<div>
<table border="1" cellspacing="0" cellpadding="3" width="606" height="142" id="dfo1" bordercolor="#000000">
	<tbody>
		<tr>
			<td width="50%" align="center"><strong>Класс</strong></td>
			<td width="50%" align="center"><strong>Описание</strong></td>
		</tr>
		<tr>
			<td width="50%">ISAPIWorkerRequestOutOfProc</td>
			<td width="50%">ASP.NET работает с IIS 5.0</td>
		</tr>
		<tr>
			<td width="50%">ISAPIWorkerRequestInProcForIIS6</td>
			<td width="50%">ASP.NET работает через IIS 6.0 (под Windows 2003)</td>
		</tr>
		<tr>
			<td width="50%">ISAPIWorkerRequestInProc</td>
			<td width="50%">
			<table border="0" cellspacing="2" cellpadding="5" class="zeroBorder">
				<tbody>
					<tr>
						<td>ASP.NET работает без IIS 6.0 (под Windows 2003)</td>
					</tr>
				</tbody>
			</table>
			</td>
		</tr>
	</tbody>
</table>
</div>
<br />
Ну а далее класс HttpRuntime создаёт обьект
HttpContext. HttpContext в свою очередь, создаёт HttpRequest,
HttpResponse. После этого через фабрику HttpApplicationFactory создается новый экземпляр
HttpApplication. В него загружается его состояние, то есть объект
класса HttpApplicationState. Далее выполняется инициализация HttpApplication.<br />
<br />
<img src="/image.axd?picture=2009%2f4%2fInside+ASPNET.png" alt="" /><br />
<p>
Затем запросы пересылаюся на
HTTP-модули, которые могут выполнить предварительную обработку перед
запуском обработчика. После выполнения обработчика запрос снова пересылается на
модули, которые могут выполнить заключительную обработку. <br />
После
того, как запрос был полностью обработан, экземпляр HttpApplication
может быть помещён в пул, если на момент помещения размер пула не
превысил 100 экземпляров (интересно почему данное число прописано
хардкодом в классе HttpApplicationFactory?!), иначе все ресурсы,
используемые этим обьектом, освобождаются, в том числе и Http-модули. У
каждого из них вызывается метод <em>Dispose</em>.<br />
</p>
<h3><strong>Модули HTTP</strong></h3>
<p>
Одним из средств расширения, которое предоставляет ASP.NET, являются
HTTP-модули. С помощью HTTP-модулей можно подписаться на события,
которые генерит класс HttpApplication и таким образом управлять
обработкой HTTP-запросов. Для реализации сообственного HTTP-модуля
нужно реализовать интерфейс
</p>
<p>
[code=c#]public interface IHttpModule
</p>
{<br />
&nbsp;&nbsp;&nbsp; void Dispose();<br />
&nbsp;&nbsp;&nbsp; void Init(HttpApplication context);<br />
}[/code]
В методе Init можно подписаться на события, которые генерирует класс HttpApplication.<br />
<br />
<div>
<table border="1" cellspacing="0" cellpadding="3" width="690" height="591" id="q-lh" bordercolor="#000000">
	<tbody>
		<tr>
			<td width="50%" align="center"><strong>Событие<br />
			</strong></td>
			<td width="50%" align="center"><strong>Описание<br />
			</strong></td>
		</tr>
		<tr>
			<td width="50%">BeginRequest 
			</td>
			<td width="50%">Вызывается при поступлении нового запроса<br />
			</td>
		</tr>
		<tr>
			<td width="50%">AuthenticateRequest 
			</td>
			<td width="50%">Запрос готов для выполнения аутентификации<br />
			</td>
		</tr>
		<tr>
			<td width="50%">PostAuthenticateRequest</td>
			<td width="50%">Вызывается после того, как модуль безопасности <span class="ref_result">установил </span><span class="ref_result">личность</span> пользователя.</td>
		</tr>
		<tr>
			<td width="50%">AuthorizeRequest 
			</td>
			<td width="50%">Запрос готов для выполнения авторизации<br />
			</td>
		</tr>
		<tr>
			<td width="50%">PostAuthorizeRequest</td>
			<td width="50%">Вызывается после того, как был авторизирован пользователь для текущего запроса</td>
		</tr>
		<tr>
			<td width="50%">ResolveRequestCache 
			</td>
			<td width="50%">Вызывается после события авторизации, чтобы модули кэширования обрабатывали запрос из кэша<br />
			</td>
		</tr>
		<tr>
			<td width="50%">PostResolveRequestCache</td>
			<td width="50%">Происходит,
			когда ASP.NET обходит выполнение текущего обработчика событий и
			позволяет модулю кэширования обработать запрос из кэша</td>
		</tr>
		<tr>
			<td width="50%">PostMapRequestHandler</td>
			<td width="50%">Вызывается после того, как ASP.NET связало текущий запрос подходящим HttpHandler&#39;ом<br />
			</td>
		</tr>
		<tr>
			<td width="50%">AcquireRequestState 
			</td>
			<td width="50%">Используется для восстановления текущего состояния
			(например, состояние сессии) для текущего запроса. (После этого события
			становится доступной сессия)<br />
			</td>
		</tr>
		<tr>
			<td width="50%">PostAcquireRequestState</td>
			<td width="50%">Происходит, когда состояние запроса (например, состояние сессии), было получено</td>
		</tr>
		<tr>
			<td width="50%">PreRequestHandlerExecute 
			</td>
			<td width="50%">Вызывается перед тем, как запрос начнёт обрабытывать HttpHandler.<br />
			</td>
		</tr>
		<tr>
			<td width="50%">PostRequestHandlerExecute 
			</td>
			<td width="50%">Вызывается после того, как запрос обработал HttpHandler.</td>
		</tr>
		<tr>
			<td width="50%">ReleaseRequestState 
			</td>
			<td width="50%">Вызывается после того, как ASP.NET закочило
			обработку запроса. Оповещает модули состояния о необходимости сохранить
			данные состояния запроса.<br />
			</td>
		</tr>
		<tr>
			<td width="50%">PostReleaseRequestState</td>
			<td width="50%">Происходит, когда ASP.NET закончило выполнение всех обработчиков событий данные состояния запроса были сохранены<br />
			</td>
		</tr>
		<tr>
			<td width="50%">UpdateRequestCache 
			</td>
			<td width="50%">Сообщает, что вся обработка запроса завершена и ответ сервера может быть закэширован.<br />
			</td>
		</tr>
		<tr>
			<td width="50%">PostUpdateRequestCache</td>
			<td width="50%">Вызывается, когда ответ сервера был закэширован.<br />
			</td>
		</tr>
		<tr>
			<td width="50%">EndRequest 
			</td>
			<td width="50%">Последнее событие из цепочки, которое сигнализирует о завершении обработки запроса.<br />
			</td>
		</tr>
	</tbody>
</table>
</div>
<p>
&nbsp;Следующие события вызываются в неопределённом порядке:<br />
</p>
<div>
<table border="1" cellspacing="0" cellpadding="3" width="691" height="97" id="xj5o" bordercolor="#000000">
	<tbody>
		<tr>
			<td width="50%" align="center"><strong>Событие<br />
			</strong></td>
			<td width="50%" align="center"><strong>Описание<br />
			</strong></td>
		</tr>
		<tr>
			<td width="50%">PreSendRequestHeaders</td>
			<td width="50%">Вызывается перед отправкой Http-заголовков клиенту<br />
			</td>
		</tr>
		<tr>
			<td width="50%">PreSendRequestContent</td>
			<td width="50%">Вызывается перед отправкой содержимого ответа сервера коиента<br />
			</td>
		</tr>
		<tr>
			<td width="50%">Error<br />
			</td>
			<td width="50%">Сигнализирует о необработанном исключении<br />
			</td>
		</tr>
	</tbody>
</table>
</div>
<br />
Чтобы HttpApplication знал о существовании модуля, его необходимо зарегистрировать в web.config.<br />
<p>
Пример регистрации HTTP-модуля:<br />
[code=xml]&lt;httpModules&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add name=&quot;ScriptModule&quot; type=&quot;System.Web.Handlers.ScriptModule, System.Web.Extensions&quot;/&gt;<br />
&nbsp;&lt;/httpModules&gt;[/code]<br />
</p>
<h3><strong>Обработчики HTTP</strong></h3>
Другим
средством расширения ASP.NET являются HTTP-обработчики (HttpHandler),
которые обрабатывают определённый тип запросов. Чтобы создать свой
обработчик нужно реализовать интерфейс <br />
[code=c#]public interface IHttpHandler<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp; bool IsReusable { get; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; void ProcessRequest(HttpContext context);<br />
}[/code]Метод
ProcessRequest выполняет непосредственную обработку запроса, а свойсто
IsReusable указывает на то, может ли экземпляр даного класса
использоваться повторно для других запросов. При IsReusable=false
каждый раз будет создаваться новый экземпляр. Как и в случае с
HTTP-модулями, HTTP-обработчики нужно зарегистрировать в
конфигурационном файле. Пример:<br />
[code=xml]&lt;httpHandlers&gt;<br />
&nbsp; &nbsp; &lt;remove verb=&quot;*&quot; path=&quot;*.asmx&quot;/&gt;<br />
&nbsp; &nbsp; &lt;add verb=&quot;GET,HEAD&quot; path=&quot;ScriptResource.axd&quot;
type=&quot;System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions&quot;
validate=&quot;false&quot;/&gt;<br />
&lt;/httpHandlers&gt;[/code]Параметр
path задает маску ресурсов, запросы к которым будут обрабатываться
данным обработчиком. Verb задает типы HTTP-запросов, которые будут
перенаправляться обработчику, например, &quot;GET&quot;, &quot;POST&quot;, &quot;*&quot; (включает
любые типы запросов). Атрибут type указывает имя класса обработчика.<br />
В корневом файле web.config (%SystemRoot%\Microsoft.NET\Framework\v%CLRVersion%\CONFIG) определены основные HTTP-обработчики:<br />
[code=xml]&lt;httpHandlers&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add verb=&quot;*&quot; path=&quot;*.rules&quot; type=&quot;System.Web.HttpForbiddenHandler&quot; validate=&quot;true&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add path=&quot;trace.axd&quot; verb=&quot;*&quot; type=&quot;System.Web.Handlers.TraceHandler&quot; validate=&quot;True&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add path=&quot;*.axd&quot; verb=&quot;*&quot; type=&quot;System.Web.HttpNotFoundHandler&quot; validate=&quot;True&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add path=&quot;*.aspx&quot; verb=&quot;*&quot; type=&quot;System.Web.UI.PageHandlerFactory&quot; validate=&quot;True&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add path=&quot;*.ashx&quot; verb=&quot;*&quot; type=&quot;System.Web.UI.SimpleHandlerFactory&quot; validate=&quot;True&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add path=&quot;*.asax&quot; verb=&quot;*&quot; type=&quot;System.Web.HttpForbiddenHandler&quot; validate=&quot;True&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add path=&quot;*.ascx&quot; verb=&quot;*&quot; type=&quot;System.Web.HttpForbiddenHandler&quot; validate=&quot;True&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add path=&quot;*.master&quot; verb=&quot;*&quot; type=&quot;System.Web.HttpForbiddenHandler&quot; validate=&quot;True&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add path=&quot;*.skin&quot; verb=&quot;*&quot; type=&quot;System.Web.HttpForbiddenHandler&quot; validate=&quot;True&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add path=&quot;*.browser&quot; verb=&quot;*&quot; type=&quot;System.Web.HttpForbiddenHandler&quot; validate=&quot;True&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add path=&quot;*.sitemap&quot; verb=&quot;*&quot; type=&quot;System.Web.HttpForbiddenHandler&quot; validate=&quot;True&quot;/&gt;<br />
&nbsp; &nbsp; &lt;add path=&quot;*.dll.config&quot; verb=&quot;GET,HEAD&quot; type=&quot;System.Web.StaticFileHandler&quot; validate=&quot;True&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add path=&quot;*.exe.config&quot; verb=&quot;GET,HEAD&quot; type=&quot;System.Web.StaticFileHandler&quot; validate=&quot;True&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add path=&quot;*.config&quot; verb=&quot;*&quot; type=&quot;System.Web.HttpForbiddenHandler&quot; validate=&quot;True&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add path=&quot;*.cs&quot; verb=&quot;*&quot; type=&quot;System.Web.HttpForbiddenHandler&quot; validate=&quot;True&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp; ....<br />
&lt;/httpHandlers&gt;[/code]
<br />
<h3><em><strong>Примечание</strong></em></h3>
Связывая
новый тип расширения файла с HTTP-обработчиком, нужно ещё связать это
расширение в IIS с модулем aspnet_isapi, для того чтобы запрос не
блокировался на уровне сервера, а перенаправлялся ASP.NET.<br />
<br />
<h3><strong>
Ссылки по теме:</strong></h3><a href="http://www.rsdn.ru/article/dotnet/insideaspnet.xml">
http://www.rsdn.ru/article/dotnet/insideaspnet.xml</a> - когда этот пост был уже на половину готов, я обнаружил вот эту статью на RSDN. Поэтому, если интересно более детальное описания взаимодействия IIS и ASP.NET, рекомендую к прочтению.<br />
<a href="http://www.15seconds.com/Issue/020417.htm">http://www.15seconds.com/Issue/020417.htm</a><br />
<a href="http://www.theserverside.net/tt/articles/showarticle.tss?id=IIS_ASP">http://www.theserverside.net/tt/articles/showarticle.tss?id=IIS_ASP</a><br />
<a href="http://www.programmersheaven.com/2/a-low-level-look-at-the-asp-page-2">http://www.programmersheaven.com/2/a-low-level-look-at-the-asp-page-2&nbsp;</a>&nbsp;&nbsp;&nbsp;&nbsp;
]]></content>
      <post-name type="text"><![CDATA[IIS & ASP.NET: Вгляд изнутри]]></post-name>
      <excerpt type="text"><![CDATA[Описывается взаимодействуют IIS и ASP.NET, а также какие стадии обработки проходит клиентский запрос.]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="c546e127-e412-4620-89ea-3e5833469830" />
      </categories>
      <tags>
        <tag ref=".net framework" />
        <tag ref="asp.net" />
        <tag ref="c#" />
        <tag ref="веб-приложения" />
        <tag ref="майкрософт" />
        <tag ref="разработка" />
        <tag ref="собеседование" />
        <tag ref=".net" />
      </tags>
      <comments>
        <comment id="b8f809c3-a7fd-4549-8567-054e6991cbf6" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-07-30T18:27:56" date-modified="2009-07-30T18:27:56" approved="true" user-name="den" user-email="den.kovshov@gmail.com" user-ip="212.108.100.242" user-url="">
          <title type="text"><![CDATA[re: IIS & ASP.NET: Вгляд изнутри]]></title>
          <content type="text"><![CDATA[Спасибо за информацию и за ссылки]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="853d9766-7b92-4e73-9e9a-cced22454b7b" date-created="2008-12-28T14:13:00" date-modified="2009-01-22T18:13:25" approved="true" post-url="/BlogEngine.Web/post/2008/12/28/2008-year.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Отчёт за 2008 год: что было, что есть и планы на будущее.]]></title>
      <content type="text"><![CDATA[<em>Пост личный, поэтому к IT-сфере он имеет слишком малое отношение.</em><br />
<br />
<img src="/image.axd?picture=2008%2f12%2f2008-mouse.jpg" alt="2008 год" title="2008 год" align="left" />
Сегодня
28 декабря, а это значит, что до нового года осталось всего 3 дня :).
Думаю, как раз пришло время подвести итоги по уходящему году. И так чем
же запомнился 2008?! Далее обо всём в хронологическом порядке.<br />
<br />
<strong>Начало 2008 года</strong><br />
Пытаюсь
вспомнить что-то особенное чем начался этот год и, впринципе, кроме
университета ничего больше в голову не лезет. Ведь это был мой
последний год в высшем учебном завидении. Поэтому по июнь я был занят
написанием дипломной работы.<br />
<br />
<strong>Карпаты</strong><br />
7-10 мая вместе с
коллегами по работе провёл в Карпатах. Отдых на природе, красивые
пейзажи, вино останутся в памяти надолго. Ещё бы, это был первый раз за
8 лет знакомства с моей девушкой (с которых большую поливину мы провели
вместе), когда её родители официально разрешили отдохнуть вместе.<br />
<br />
<strong>Университет</strong><br />
Начиная с 2003 по 2008 я пров<span>ёл в стенах Житомирского государственного технологического университета.</span>
Не могу сказать, что это были мои лучшие года. Вообще, об этом&nbsp; я буду
судить лет в 60, когда состарюсь. А пока университет закончился, группа
разбежалась по разным сторонам и времени, чтобы кого-то увидеть, совсем
не хватает. Кому интересно, то университет я окончил с красным
дипломом. Хотел повесить его где-то на стенку в рамочке, но руки никах
не доходят.<br />
<br />
<strong>Машина</strong><br />
Наверное, одним из самых ярких
событий 2008 года было приобретение сообственной машины. Хотя у меня и
до того была &quot;девятка&quot; (ВАЗ 2109), которую мне подарил отец двумя
годами ранее, с новой машиной (Skoda Octavia Tour), купленной в кредит
на свои деньги, она не сравнится. Это была моя детская мечта... Самое,
что не есть приятное осознавать, что сбылась она благодаря сообственным
стараниям. Такой вот &quot;небольшой&quot; подарок сделал себе на 22 день
рождение.<br />
<br />
<strong>Отдых</strong><br />
Помнится раньше, когда ходил в школу,
родители регулярно отправляли на море, иногда даже получалось два раза
за лето погреться на солнышке. Но с поступлением в университет жизнь
кардинально изменилась. Отдыхать было некогда. Лето - это самое хорошое
время, чтобы заработать немного денег на одежду, на пиво по вечерам с
друзьями, на букет цветов любимой девушке. Вот так и прошли 5 лет в
университете и в итоге море я видел только по телевизору. <br />
К счастью, в этом году я уже мог себе позволить нормально отдохнуть две недели в Евпатории.<br />
<br />
<strong>Блог</strong><br />
В
конце лета мне в голову пришла, как мне тогда казалось, замечательная
идея: завести сообственный блог. Но как показало время, сообственно,
самого времени на блог у меня полноценно хватало только первых полтора
месяца. Всё же надеюсь, что в новом году дела со свободным временем
будут обстоять гораздо лучше.<br />
<br />
<strong>MCP</strong><br />
В начале осени решил
осуществить ещё одну мою давнюю мечту, то есть сдать МСР-экзамен 70-528
Microsoft
.NET Framework 2.0 &ndash; Web Based Client Development. Как оказалось потом
планы на этот год были перевыполнены после сдачи второго МСР 70-536 <span>Microsoft .NET Framework - Application Development Foundation и получения статуса </span><font face="Verdana, Arial, Helvetica" size="2">Microsoft Certified Technology Specialist.<br />
<br />
<strong>Работа</strong><br />
</font><span>Вот уже почти как два с половиной года</span> я работаю в
украинском подразделении (ISM Ukraine) голландской компании ISM. За всё
это время я сменил не так уж много проектов, но все они были по своему
интересны. Последний из них, разрабатываемый и в данный момент,
приносит огромное удовольствие. Это, наверное, одна из главных
мотиваций для творческих людей, к которым я отношу и себя. Плюс ещё и
комманда собралась отличнейшая, с которой и в баню сходить&nbsp; - не вопрос
и друг друга поддержать в трудную минуту - не проблема.<br />
<br />
<strong>Доллар</strong><br />
То, что творится с этой &quot;грязной зелёной бумажкой&quot; в последние два
месяца выходит за грани понимания. Всё бы ничего, если бы кредит мне не
приходилось отдавать в американской валюте, а рост её почти в два раза
немного нарушил планы быстрого досрочного погашения кредита. Хорошо,
что хоть зарплата хоть как-то привязвана к доллару.<br />
<br />
Вот, впринципе, и всё, чем запомнился уходящий 2008. Ну и напоследок планы на будущее.<br />
<br />
<strong>Планы на 2009</strong><br />
Во первых, хотелось бы найти больше времени для блогописательства, да и
для блогочитательства тоже. Уже и не вспомню, когда последний раз
открывал RSS-ридер.<br />
Во-вторых, после того, как посмотрю, насколько повлияли МСР-экзамены на рост зарплаты, может быть подготовлюсь ещё к парочке.<br />
В-третьих, в очередной раз понимаю, что нужно подтягивать английский.
Одно дело, когда ты понимаешь, другое - когда без проблем понимают тебя.<br />
В-четвёртых, хочу поехать за границу. Неважно куда, толи летом в
Турцию, то ли по работе в Голландию, просто хочется посмотреть мир.<br />
В-пятых, пора уже думать о семье и может быть о переезде в столицу и смене работы. Время покажет.<br />
<br />
Вот такие вот планы на 2009. Осуществлятся они или нет, напишу ровно через год.&nbsp;
]]></content>
      <post-name type="text"><![CDATA[Отчёт за 2008 год: что было, что есть и планы на будущее.]]></post-name>
      <excerpt type="text"><![CDATA[Рассказывается о том, что было сделано в 2008 году и какие планы на будущее]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="31a6537e-fa74-432e-b38a-4f2615a3da2e" />
        <category ref="7cdbe65c-f7a7-4ae4-9885-3338d2192021" />
        <category ref="5c1a7791-b10c-4032-99ae-37605b09eb96" />
        <category ref="bab5bf47-abd6-4b6c-b452-d9a9bc0f2a34" />
        <category ref="aad9f70e-dcd1-48f3-a316-cbafcce1301d" />
      </categories>
      <tags>
        <tag ref="mcp" />
        <tag ref="блог" />
        <tag ref="о жизни" />
        <tag ref="разное" />
        <tag ref="сертификация" />
      </tags>
      <comments>
        <comment id="7ff3b40f-a8a9-418e-8e89-9e625ba62616" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-01-22T18:13:25" date-modified="2009-01-22T18:13:25" approved="true" user-name="Busby SEO Test" user-email="gladioolersteam@gmail.com" user-ip="125.163.251.145" user-url="http://umpcinfo.com/gladioolers/">
          <title type="text"><![CDATA[re: Отчёт за 2008 год: что было, что есть и планы на будущее.]]></title>
          <content type="text"><![CDATA[информация очень полезна .. благодарность была ..]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="7e7f80d6-bf84-4592-8662-a85d0ec3c8ef" date-created="2008-12-17T17:16:00" date-modified="2009-08-17T15:19:59" approved="true" post-url="/BlogEngine.Web/post/2008/12/17/crisis.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Кризис с юмором]]></title>
      <content type="text"><![CDATA[<p>
<em>Подборка анекдотов по теме
</em>
</p>
<p>
Собрались Буш, Медведев и Ющенко обсудить, кто как спасает свою страну от финансового кризиса:<br />
Буш: Мы приняли стабилизационную программу на 700 миллиардов долларов, снизили ставку рефинансирования, и пообещали народу, что снизим налоги.<br />
Медведев: Мы повысили цены на нефть и на газ, выслали ФСБ выбить дополнительные бабки с олигархов, и объяснили народу, что Запад загнивает, а Россия поднимается с колен.<br />
Ющенко: А я объявил новые выборы, и наш народ финансовый кризис уже не гребет!<br />
<br />
&quot;Я плачу и плачу&quot;... Поставьте правильно все ударения в этой фразе, и вы<br />
сами поймете степень своей кредитоспособности.<br />
<br />
Как поступает премьер-министр, если за два дня курс национальной валюты обваливается на 25 %, инфляция за год составляет 20%, производство падает на 4%, половина металлургических комбинатов остановлена,&nbsp; 5 системных банков на грани банкротства?<br />
В Голландии - сдает в бюджет все семейные ценности и ездит на велосипеде.<br />
В Англии - уходит в отставку и пишет покаянные мемуары.<br />
В Японии - совершает харакири.<br />
В Украине - выигрывает парламентские и президентские выборы...<br />
<br />
Главу Нацбанка спрашивают:<br />
-Вы будете поддерживать курс падающей гривны?<br />
-А зачем? Гривны - это красивые деньги и красота их главное предназначение.<br />
<br />
6:30 утра.<br />
Встречаются два дворника.<br />
Один на другого долго так смотрит и вдруг говорит:<br />
- У вас такое лицо знакомое...<br />
а второй в ответ:<br />
- ...А вы в каком банке работали?<br />
<br />
В период кризиса звонит один банкир другому:<br />
- Ну, как ты там? Как спишь?<br />
- Да ничего... Сплю, как ребенок...<br />
- Это как?<br />
- Сегодня всю ночь плакал и два раза обгадился.<br />
<br />
<strong>А вот и мой любимый, который рассказал мне шеф-&quot;юморист&quot;:</strong><br />
Сын спрашивает отца:<br />
- Папа, а нас каснется финансовый кризис?<br />
- Сынок, он только олигархов каснется , а нам пиздец<br />
</p>
]]></content>
      <post-name type="text"><![CDATA[Кризис с юмором]]></post-name>
      <excerpt type="text"><![CDATA[Мировой финансовый кризис]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="bab5bf47-abd6-4b6c-b452-d9a9bc0f2a34" />
      </categories>
      <tags>
        <tag ref="о жизни" />
        <tag ref="разное" />
      </tags>
      <comments>
        <comment id="2b0e2bae-f5a0-4d45-9efc-08fadf2340b5" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-12-26T17:17:27" date-modified="2008-12-26T17:17:27" approved="true" user-name="Kuban" user-email="itkokty@mail.ru" user-ip="91.124.101.16" user-url="http://www.kokty.ru/">
          <title type="text"><![CDATA[re: Кризис с юмором]]></title>
          <content type="text"><![CDATA[Третий анекдот это скорее ирония чем юмор. Тимошенко действительно может еще и президентские выборы выиграть ((]]></content>
        </comment>
        <comment id="87402281-ff66-4356-b204-9e74d58bdbf6" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-12-26T23:25:10" date-modified="2008-12-26T23:25:10" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="91.124.56.101" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Кризис с юмором]]></title>
          <content type="text"><![CDATA[Что-то мне подсказывает, что выборы выиграет Янукович, уж сильно Ющенко и Тимошенко облажались в этом году. А вообще пошли они все далеко-далеко, политикой сыт по самое &quot;не хочу&quot;.]]></content>
        </comment>
        <comment id="12f6bf2f-69da-49b0-a926-eca1bffd8911" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-03-10T04:50:33" date-modified="2009-03-10T04:50:33" approved="true" user-name="Андрей" user-email="needlefriend.ru@gmail.com" user-ip="77.66.156.217" user-url="http://needlefriend.ru/">
          <title type="text"><![CDATA[re: Кризис с юмором]]></title>
          <content type="text"><![CDATA[на злобу дня. улыбнуло]]></content>
        </comment>
        <comment id="5934a1c1-e814-4ecf-834f-8623f8d7ebb3" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-04-16T01:21:50" date-modified="2009-04-16T01:21:50" approved="true" user-name="scape " user-email="22@yandex.ru" user-ip="92.115.152.249" user-url="http://tippain.ru/">
          <title type="text"><![CDATA[re: Кризис с юмором]]></title>
          <content type="text"><![CDATA[Весьма интересно!]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="1007c84d-64a7-44b9-9169-492e1b340db6" date-created="2008-12-08T08:30:00" date-modified="2008-12-08T09:05:49" approved="true" post-url="/BlogEngine.Web/post/2008/12/08/d09ad0b0d0ba-d0b1d0b5d0b7d0bed0bfd0b0d181d0bdd0be-d0b2d18bd0b7d0b2d0b0d182d18c-d0b4d0b5d0bbd0b5d0b3d0b0d182d18b-d0bdd0b0-d0b2d181d0b5-d184d183d0bdd0bad186d0b8d0b8.aspx" type="normal" hasexcerpt="false" views="0" is-published="False">
      <title type="text"><![CDATA[Как безопасно вызвать делегаты на все функции?]]></title>
      <content type="text"><![CDATA[<p>
[code=c#]
</p>
<p>
using System;<br />
using System.Collections.Generic;<br />
using System.Text;<br />
using System.Collections;<br />
<br />
namespace EventTest<br />
{<br />
&nbsp;&nbsp;&nbsp; class Program<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public delegate void TestEventHandler();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static void Main(string[] args)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TestEventHandler h1 = new TestEventHandler(Test1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TestEventHandler h2 = new TestEventHandler(Test2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TestEventHandler res =&nbsp; (TestEventHandler)Delegate.Combine(h1, h2);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void Test1() <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;Exception ocurred&quot;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void Test2()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Test2 method was called&quot;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}
</p>
<p>
[/code]
</p>
<p>
&nbsp;
</p>
<p>
<img src="/image.axd?picture=2008%2f12%2fevent+test+1.jpg" alt="" /><br />
[code=C#]<br />
using System;<br />
using System.Collections.Generic;<br />
using System.Text;<br />
using System.Collections;<br />
<br />
namespace EventTest<br />
{<br />
&nbsp;&nbsp;&nbsp; class Program<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public delegate void TestEventHandler();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static void Main(string[] args)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TestEventHandler h1 = new TestEventHandler(Test1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TestEventHandler h2 = new TestEventHandler(Test2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TestEventHandler res = (TestEventHandler)Delegate.Combine(h1, h2);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (TestEventHandler item in res.GetInvocationList())<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; item();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (Exception e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Exception was catched&quot;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void Test1()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;Exception ocurred&quot;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void Test2()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Test2 method was called&quot;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
<br />
[/code]
</p>
<p>
&nbsp;
</p>
<img src="/image.axd?picture=2008%2f12%2fevent+test+2.jpg" alt="" />
]]></content>
      <post-name type="text"><![CDATA[Как безопасно вызвать делегаты на все функции?]]></post-name>
      <authors>
        <author ref="AndrewK" />
      </authors>
    </post>
    <post id="daa44bc0-a717-4d4c-a7b4-8ba0af3f584c" date-created="2008-12-07T14:07:00" date-modified="2009-03-30T23:18:18" approved="true" post-url="/BlogEngine.Web/post/2008/12/07/Yetanotherforum-open-source-forum-on-ASPNET.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Yetanotherforum - форум с открытым исходным кодом на ASP.NET]]></title>
      <content type="text"><![CDATA[<p>
Некоторое время назад, когда я писал дипломную работу, помнится одним из необязательных заданий в дипломе был форум. К сожалению, времени на создание своего форума тогда совсем не было. Поиск же существующих бесплатных разработок на ASP.NET ни к чему не привёл и, соответственно, диплом остался без форума.
</p>
<p>
Сегодня чисто случайно наткнулся вот на такую разработку <a href="http://www.yetanotherforum.net/" title="yetanotherforum.net">yetanotherforum.net</a> .&nbsp; Тестовый вариант можно посмотреть <a href="http://testforum.yetanotherforum.net/" title="yetanotherforum.net">здесь</a>. 
</p>
<p>
<img src="/image.axd?picture=2008%2f12%2fYAF.jpg" alt="" />
</p>
<p>
YetAnotherForum.NET (YAF) - это open source форум, предоставляемый под лицензией <a href="http://ru.wikipedia.org/wiki/GNU_General_Public_License" title="General Public License">GPL</a>, более детально на сайте разработчиков. 
</p>
<p>
Размер архива с исходниками 1,58.
</p>
]]></content>
      <post-name type="text"><![CDATA[Yetanotherforum - форум с открытым исходным кодом на ASP.NET]]></post-name>
      <excerpt type="text"><![CDATA[Рассматривается бесплатный форум Yetanotherforum на ASP.NET]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="c546e127-e412-4620-89ea-3e5833469830" />
      </categories>
      <tags>
        <tag ref=".net" />
        <tag ref=".net framework" />
        <tag ref="asp.net" />
        <tag ref="веб-приложения" />
        <tag ref="разработка" />
        <tag ref="исходники" />
      </tags>
      <comments>
        <comment id="b5cb650c-b45b-42e6-88d9-96e0089b16d9" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-03-30T23:18:18" date-modified="2009-03-30T23:18:18" approved="true" user-name="Ph" user-email="pharaoh@effetto.ru" user-ip="87.103.148.68" user-url="http://yetanotherforum.ru/">
          <title type="text"><![CDATA[re: Yetanotherforum - форум с открытым исходным кодом на ASP.NET]]></title>
          <content type="text"><![CDATA[Имеется русский сайт поддержки форума, находится по адресу http://yetanotherforum.ru/ . Обсуждаются вопросы локализации, внедрения, администрирования, обновления и т.д.]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="ead09fe4-6f20-4fe1-987d-8b7d9c05b269" date-created="2008-12-07T08:14:00" date-modified="2009-08-17T06:14:42" approved="true" post-url="/BlogEngine.Web/post/2008/12/07/What-means-friendly-assemblies.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Что означает дружественные сборки?]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f12%2fquestions.jpg" alt="Что означает дружественные сборки?" title="Что означает дружественные сборки?" align="left" />Как известно, чтобы получить доступ к классу из другой сборки, этот класс должен быть обьявлен как <strong>public</strong>. Однако такие действия не всегда являются лучшим решением, так как в результате классом может воспользоваться кто угодно. Существует и другой модификатор доступа&nbsp; - <strong>internal</strong>. Пометив класс как internal, область его видимости ограничивается сборкой в которой он обьявлен. Иногда же возникает необходимость объединить эти два подходы, то есть класс должен быть видим только внутри сборки, где он определён, и в некоторых случаях вести как public. Хорошим пример может послужить разбиение приложения на слои (layer), где каждому слою соответствует отдельная сборка. До появления .NET Framework 2.0 единственным выходом из этой ситуации было определения класса как public, но с выходом последнего появился специальный атрибут <strong>InternalsVisibleTo</strong>, который позволяет делать сборки &quot;дружественными&quot;.
</p>
<p>
Например, у нас есть сборка А, классы которой помечены как internal. Для того чтобы сборка В могла обращаться к internal классам сборки А, в последнюю нужно добавить атрибут 
</p>
<p>
[code=c#][assembly: InternalsVisibleTo(&quot;&#39;имя сборки В&#39;, PublicKey=&#39;публичный ключ&#39;&quot;)].[/code]
</p>
<p>
Применение данного атрибута распространяется как на internal классы, так и на методы, свойства.
</p>
<p>
PS: использовать данный атрибут можно и в юнит-тестах, когда необходимо протестировать internal методы. Кстати, майкрософтовцы и сами широко используют данный атрибут, как пример сборка System.Data, посмотрите рефлектором.
</p>
]]></content>
      <post-name type="text"><![CDATA[Что означает дружественные сборки?]]></post-name>
      <excerpt type="text"><![CDATA[Рассказывается что такое дружественные сборки и как применять атрибут InternalsVisibleTo.]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" />
      </categories>
      <tags>
        <tag ref=".net" />
        <tag ref=".net framework" />
        <tag ref="c#" />
        <tag ref="майкрософт" />
        <tag ref="разработка" />
        <tag ref="собеседование" />
        <tag ref="" />
      </tags>
      <comments>
        <comment id="919c9f39-e431-4b3a-a6d4-6dccfc8a857d" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-12-24T04:13:41" date-modified="2008-12-24T04:13:41" approved="true" user-name="Riot" user-email="ashlyriot@gmail.com" user-ip="81.3.153.52" user-url="http://www.riotlabs.ru/">
          <title type="text"><![CDATA[re: Что означает дружественные сборки?]]></title>
          <content type="text"><![CDATA[Интересный блог, буду тебя почитывать=)
]]></content>
        </comment>
        <comment id="0eca3cf6-c1cb-4aea-b8e0-6915b14ac5ce" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-03-10T11:00:39" date-modified="2009-03-10T11:00:39" approved="true" user-name="Dino" user-email="kawai_o.o@mail.ru" user-ip="92.113.136.114" user-url="http://dino-doubler.narod.ru/">
          <title type="text"><![CDATA[re: Что означает дружественные сборки?]]></title>
          <content type="text"><![CDATA[Буду ваш блог читать. Интересно. ]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="f81e1ad3-792f-4fb9-9d9c-1bb783f12774" date-created="2008-12-07T06:42:00" date-modified="2009-08-17T06:06:18" approved="true" post-url="/BlogEngine.Web/post/2008/12/07/Blog-died.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Блог умер?!]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f12%2fdie.jpg" alt="Блог умер?!" title="Блог умер?!" align="left" />Как все могли заметить, последний месяц вышел совсем непродуктивным (3 поста за ноябрь - это слишком мало). Но этому есть ряд причин, хотя последние, как по мне, скорее отмазка. Главное чем я занимался - это готовился к экзамену <a href="http://www.microsoft.com/learning/en/us/Exams/70-536.aspx" title="Microsoft .NET Framework - Application Development Foundation">70-536 Microsoft .NET Framework - Application Development Foundation</a>. 
</p>
<p>
Так сложилось, что после сдачи в октябре экзамена 70-528, начальство порекомендовало сдать ещё один. Зачем?! Сложный вопрос... Возможно, чтобы просто оттянуть повышение зарплаты, надеясь на то, что следующий экзамен я соберусь сдавать не в скором времени. А возможно действительно во внимание принимается только получение статуса Microsoft Certified Technology Specialist (MCTS). Вообщем, ответы на все вопросы я получу в ближайшем будущем, так как уже через несколько дней мне предстоит сдать второй экзамен (70-536). Вот тогда-то всё и станет на свои места. Пока я надеюсь на лучшее и то, что было обещано, будет выполнено. 
</p>
<p>
<strong>По экзамену.</strong> Подготовка к этому экзамену выдалась на много интересней. Я наконец-то прочитал книгу Рихтера &quot;CRL via C#&quot;, которую купил года два назад. Это мне принесло наибольшее удовольствие. Изо всех книг по .NET Framework, которые есть у меня (2 издания Троелсена, Дейтел и т.д.) - эта на голову выше. Как по мне, она достойна внимания каждого .NET-разработчика. 
</p>
<p>
Как показала подготовка, за более чем два года работы на .NET Framework, мне приходилось использовать далеко не все его возможности. 100%-новой темой для меня оказалась <a href="http://www.codeproject.com/KB/security/UB_CAS_NET.aspx" title="Code Access Security (CAS)">Code Access Security (CAS)</a>, до экзамена я даже и не догадывался об существовании таких возможностей. Наконец-то более детально разобрался с потоками, синхронизацией доступа к данным на основе блокировок, асинхронной моделью программирования, доменами, отражением, вообщем, со всем, для чего раньше нехватало времени.
</p>
<p>
Как и предидущая книга по 70-528 от Майкрософта, для 70-536 экзамена оказалась не лучше. К сожалению, её всё-таки пришлось читать, так как некоторый материал был изложен только в ней.&nbsp; 
</p>
<p>
На протяжении всего времени, для лучшего запоминания материала, составлял краткие заметки, которых в итоге собралось на 14 вордовских страниц. В ближайшем будущем постараюсь довести их до ума и выложить на блоге. Так же насобирал порядка 30 интересных вопросов по основам .NET Framework, на которых, сообственно, и собираюсь сконцентрировать свое внимание.
</p>
<p>
PS: <em>блог снова оживает, я надеюсь</em>.... :)
</p>
]]></content>
      <post-name type="text"><![CDATA[Блог умер?!]]></post-name>
      <excerpt type="text"><![CDATA[Рассказывает об подготовке к экзамену 70-536 Microsoft .NET Framework - Application Development Foundation]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="7cdbe65c-f7a7-4ae4-9885-3338d2192021" />
        <category ref="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" />
        <category ref="5c1a7791-b10c-4032-99ae-37605b09eb96" />
      </categories>
      <tags>
        <tag ref=".net framework" />
        <tag ref=".net" />
        <tag ref="c#" />
        <tag ref="сертификация" />
        <tag ref="майкрософт" />
        <tag ref="блог" />
        <tag ref="о жизни" />
      </tags>
      <comments>
        <comment id="723509c9-843b-4d0f-ba65-69d2304ca506" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-12-05T15:26:47" date-modified="2008-12-05T15:26:47" approved="true" user-name="vic" user-email="junglebell@rambler.ru" user-ip="92.124.29.243" user-url="">
          <title type="text"><![CDATA[re: Блог умер?!]]></title>
          <content type="text"><![CDATA[Привет Андрей!
Сдаю то же самое, правда в другой последовательности.
70-536 сдал, 70-528 остался. 

Попробуем как рекомендуете, через VCE опросник
Начальство Ваше право - два экзамена
дадут в сумме статус MCPD по Web  :-)
А если еще и з/п возрастет...
]]></content>
        </comment>
        <comment id="5b7962eb-d009-40b1-8f64-7e3d0fe417ab" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-12-06T14:03:08" date-modified="2008-12-06T14:03:08" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="195.69.221.234" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Блог умер?!]]></title>
          <content type="text"><![CDATA[Я, впринципе, и начал шевелиться только из-за ЗП, ну и для резюме, думаю, не помешают.]]></content>
        </comment>
        <comment id="96362d79-4e60-4fe9-83f5-a602683c72d4" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-02-03T15:35:50" date-modified="2009-02-03T15:35:50" approved="true" user-name="vic" user-email="junglebell@rambler.ru" user-ip="195.46.102.198" user-url="">
          <title type="text"><![CDATA[re: Блог умер?!]]></title>
          <content type="text"><![CDATA[Привет Андрей!
Для MCPD надо три экзамена (070-547 еще) -
я последний сдал на этой неделе
А у Вас как дела?
]]></content>
        </comment>
        <comment id="d355875a-d2c2-47cf-94c6-4cfbd91520ca" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-02-03T22:22:40" date-modified="2009-02-03T22:22:40" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="195.69.221.234" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Блог умер?!]]></title>
          <content type="text"><![CDATA[Привет, vic!
70-536 успешно сдал ещё в декабре. Но, к сожалению, неполучил то, что ожидал в плане ЗП. В ближайших планах 70-526. А потом как и у Вас 70-547. Не знаю правда сколько это займёт времени. А у Вас какая причина сдачи экзаменов? Мне вот интересно: ценятся ли вообще майкрософтовские экзамены?
]]></content>
        </comment>
        <comment id="a794cd80-4025-4c0d-8b17-8e7bf5c08128" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-02-04T07:23:16" date-modified="2009-02-04T07:23:16" approved="true" user-name="vic" user-email="junglebell@rambler.ru" user-ip="195.46.102.198" user-url="">
          <title type="text"><![CDATA[re: Блог умер?!]]></title>
          <content type="text"><![CDATA[На MCPD предложил сдать американский заказчик
А раз он оплачивает - почему бы и нет
Времени, конечно, массу уфоркал
Зато приятно, ну и чтобы мозг не засох

Find out how many MCPs there are worldwide:

Microsoft Certified Professional Developer (MCPD)
Web Developer 8,309

Это как масоны :-)]]></content>
        </comment>
        <comment id="27af237a-3fbe-4e09-9d51-c69ea99ed210" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-02-04T07:24:39" date-modified="2009-02-04T07:24:39" approved="true" user-name="vic" user-email="junglebell@rambler.ru" user-ip="195.46.102.198" user-url="">
          <title type="text"><![CDATA[re: Блог умер?!]]></title>
          <content type="text"><![CDATA[PS
На MCPD я сдал все экзамены]]></content>
        </comment>
        <comment id="5a313321-9e8a-4f17-8c77-cc10fe7fdae1" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-02-04T15:43:00" date-modified="2009-02-04T15:43:00" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="195.69.221.234" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Блог умер?!]]></title>
          <content type="text"><![CDATA[Понятно. Я вот разрываюсь: времени жалко на подготовку, хочется какие-то новые технологии попробовать, тотже ASP.NET MVC, Entity Data Model. Ещё в последнее время фотошопом увлёкся, так что никак не могу начать готовиться к следующему экзамену.]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="2e7ec641-91e3-4171-919e-de9b28d04128" date-created="2008-11-25T12:49:00" date-modified="2008-11-25T13:11:03" approved="true" post-url="/BlogEngine.Web/post/2008/11/25/When-work-is-good.aspx" type="normal" hasexcerpt="false" views="0" is-published="False">
      <title type="text"><![CDATA[Когда работа в кайф...]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f11%2fIMG_1338.jpg" alt="Работа в офисе, предидущее место" title="Работа в офисе, предидущее место" align="left" />В моём личном опыте были разные ситуации: иногда я работал, как
говорится, &quot;в запой&quot;, проекты были настолько интересными, что я
втягивался в них с головой, с другой же стороны периодически выполняя
некоторые задачи, я просто усынаю. Притом том я уже легко вижу, какую я
работу в конкретный момент делаю. Если времени хватает только на чтобы
проверить почту, заварить чаю и в моём ридере завалялось более 300
непрочитанных постов да и при этом я неделю другую ничего не написал в
блог значит всё идёт хорошо и работой я доволен. А что может быть лучше
для разработчика чем удовлетворенность работой?!.... ЗП?!.... Частично
согласен. :)
</p>
<p>
К сожалению, интересная работа для меня на две недели закончилась.
Снова нужно возвращаться к старому проекту, от которого я никак не могу
избавиться. Это как скилет в шкафе, как только ты привыкаешь к чему-то
хорошему, он вылазит и хватает тебя за зад.
</p>
<p>
Конечно, не всё так печально. У меня наконец-то появится время
прочитать более 300 постов, привести в порядок мысли в голове,
сконцентрироваться на подготовке к следующему экзамену (70-536), а он
уже не за горами. Вообщем, пытаюсь найти что-то позитивное в этой
ситуации... Да и еще нужно не забыть запастись &quot;антиснотворным&quot;, так как в это время замечается повышенная сонливость.
<br />
</p>
]]></content>
      <post-name type="text"><![CDATA[Когда работа в кайф...]]></post-name>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="bab5bf47-abd6-4b6c-b452-d9a9bc0f2a34" />
        <category ref="aad9f70e-dcd1-48f3-a316-cbafcce1301d" />
      </categories>
      <tags>
        <tag ref="о жизни" />
        <tag ref="блог" />
      </tags>
    </post>
    <post id="3b3d0f9b-867a-4aff-b493-defcd7f8c7cd" date-created="2008-11-11T08:26:00" date-modified="2009-08-16T11:16:15" approved="true" post-url="/BlogEngine.Web/post/2008/11/11/Using-one-AssemblyInfocs-file-for-all-projects.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Использование одного файла AssemblyInfo.cs для всех проектов]]></title>
      <content type="text"><![CDATA[<p>
<strong>Зачем это нужно?</strong><br />
В том случае, когда solution состоит из нескольких проектов и необходимо для всех сборок вручную поменять версию, задача превращается в рутинную работу. Если же выполнить ниже указанные действия, то изменять версию придётся только в одном файле.
</p>
<p>
<strong>Как это сделать?</strong><br />
1. Создаём AssemblyInfo.cs и ложим его в общую папку.<br />
2. Добавляем существующий файл в каждый проект как ссылку (см. рисунок ниже).
</p>
<p>
&nbsp;
<img src="/image.axd?picture=2008%2f11%2fAssemblyInfo+link.png" alt="Использование одного файла AssemblyInfo.cs для всех проектов" title="Использование одного файла AssemblyInfo.cs для всех проектов" />
</p>
<p>
<em>PS: данный пост я разместил больше для себя, так как от проекта к проекту проходит немало времени и я постоянно умудряюсь забывать, что нужно делать.&nbsp;</em>
</p>
]]></content>
      <post-name type="text"><![CDATA[Использование одного файла AssemblyInfo.cs для всех проектов]]></post-name>
      <excerpt type="text"><![CDATA[Описывается как подключить один файл AssemblyInfo.cs во все проекты]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
      </categories>
      <tags>
        <tag ref="разработка" />
        <tag ref="исходники" />
        <tag ref="майкрософт" />
        <tag ref="visual studio" />
        <tag ref="c#" />
        <tag ref=".net" />
      </tags>
    </post>
    <post id="04ee3996-8fd5-4408-81b2-caa3752f5401" date-created="2008-11-06T14:43:00" date-modified="2009-08-16T11:00:51" approved="true" post-url="/BlogEngine.Web/post/2008/11/06/Quick-way-to-get-mcp-id.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Быстрый способ получения MCP ID]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2fmcp.png" alt="MCP, Microsoft certified professional" title="MCP, Microsoft certified professional" width="249" height="112" align="left" />
Две недели назад я сдал экзамен Microsoft&reg; .NET Framework 2.0 - Web-based Client Development и на протяжении этого времени мне должны были прислать MCP ID. Я не знаю как там у них настроен этот процесс, но сюда по тому, что в течении двух недель я так и не получил от Майкрософта ни одного письма, явно все идёт через жо..<br />
Сегодня моё терпение кончилось и, следуя совету коллеги по работе, решил написать им письмо. Результаты не заставили себя ждать.<br />
Письмо было примерно следующего формата:<br />
<br />
<em>Hello, </em>
</p>
<p>
<em>My name is Andrey. Last month (October 23, 2008) I&#39;ve past exam<br />
70-528 Microsoft .NET Framework 2.0-Web-Based Client Development in<br />
Prometric.<br />
&nbsp;<br />
Candidate: andrii kuzmenko<br />
Exam Number: 070-528<br />
Сandidate id: *****<br />
Number: ***<br />
Registration: *********<br />
&nbsp;<br />
When I&#39;ll get my mcp id?<br />
Thank you.</em><br />
<br />
Через несколько часов мне отписали и попросили ещё отослать отсканированные копии документа, котрый выдали в сертификационном центре. Только после этого пришло два письма, в одном был MCP ID, во втором - Access code.
</p>
<p>
Письмо писал сюда: <span><strong>emeamcp@msdirectservices.com</strong></span><br />
<br />
А вот и ссылка на транскрипт <a href="http://www.microsoft.com/learning/mcp/transcripts" title="MCP">http://www.microsoft.com/learning/mcp/transcripts</a><br />
<br />
Transcript ID: 820594<br />
Access Code: andrewkid
</p>
]]></content>
      <post-name type="text"><![CDATA[Быстрый способ получения MCP ID]]></post-name>
      <excerpt type="text"><![CDATA[Описывается метод быстрого получения MCP ID]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="7cdbe65c-f7a7-4ae4-9885-3338d2192021" />
        <category ref="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" />
      </categories>
      <tags>
        <tag ref="mcp" />
        <tag ref="asp.net" />
        <tag ref="разработка" />
      </tags>
      <comments>
        <comment id="4da704c1-a329-47fb-8e6d-346a64e5de26" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-11-05T22:39:54" date-modified="2008-11-05T22:39:54" approved="true" user-name="MaZaY" user-email="osis2000@gmail.com" user-ip="81.9.20.218" user-url="http://mazayblog.wordpress.com/">
          <title type="text"><![CDATA[re: Быстрый способ получения MCP ID]]></title>
          <content type="text"><![CDATA[Аналогичное письмо отправлял, правда сканы не просили предоставить.]]></content>
        </comment>
        <comment id="c0a985fe-43c0-47ea-9126-7b8bf1be9ce8" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-11-06T04:05:38" date-modified="2008-11-06T04:05:38" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="195.69.221.234" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Быстрый способ получения MCP ID]]></title>
          <content type="text"><![CDATA[Меня вообще процесс регистрации удивляет, такое впечатление, что они руками обрабатывают результаты.]]></content>
        </comment>
        <comment id="aaa4ade9-9909-492d-8214-98824372e2d3" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-11-09T20:20:25" date-modified="2008-11-09T20:20:25" approved="true" user-name="Sergey Rudenko" user-email="moxnatiy2003@mail.ru" user-ip="83.167.120.73" user-url="">
          <title type="text"><![CDATA[re: Быстрый способ получения MCP ID]]></title>
          <content type="text"><![CDATA[Это хорошо, что в блоге описал, будет полезно будущим MCP.
Инфы подомной много, но она размазана по форумам.

Мне тоже приходилось закидывать их письмами, но ID мне прислали только через неделю.
И никаких ксерокопий не просили.]]></content>
        </comment>
        <comment id="3732da34-352b-45a7-a7fe-b035cef2b0e3" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-11-10T12:15:16" date-modified="2008-11-10T12:15:16" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="195.69.221.234" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Быстрый способ получения MCP ID]]></title>
          <content type="text"><![CDATA[Возможно у них что-то поменялось в этой процедуре. 
Специально пересмотрел ещё раз письмо
[i]
Please be informed that the data you provided us are not enough for  
further investigation of your issue. Therefore in order to proceed with 
your request we kindly ask you for the copy of your score report from 
the last exam you passed. This should have been handed to you by the 
testing centre upon exam completion. 
[/i]]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="563c9798-9152-4ac1-9df5-5fbc0c7a64f4" date-created="2008-11-06T07:27:00" date-modified="2009-08-16T11:01:53" approved="true" post-url="/BlogEngine.Web/post/2008/11/06/Whats-the-difference-between-Union-vs-Union-All.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Какая разница между Union vs Union All?]]></title>
      <content type="text"><![CDATA[<img src="/image.axd?picture=2008%2f11%2fSQL_injection.jpg" alt="" width="244" height="182" align="left" />Повышаем сейчас производительность веб-сайта на работе, поэтому приходится вникать в детали работы SQL. Сегодня в обзоре комманды Union и Union All.<br />
<br />
<strong>UNION</strong><br />
Комманда UNION используется для выбора связанной информации из нескольких таблиц, то есть она позволяет объединять результаты двух выборок. Условия использования этой комманды - колонки должны совпадать по типам, порядку и названиям. Главное здесь, что <strong>UNION исключает повторяющиеся записи</strong>.<br />
<br />
<strong>UNION ALL</strong><br />
Комманда UNION ALL работает подобно <strong>UNION </strong>за тем исключением, что <strong>выбирает все записи</strong>, поэтому в результирующем наборе могут присутствовать дубликаты записей.<br />
<br />
<strong>Совет:</strong><br />
Если вы знаете, что все объедененные записи уникальны, лучше использовать UNION ALL, так как он работает быстрее, особенно это видно при работе с большими выборками.<br />
<br />
]]></content>
      <post-name type="text"><![CDATA[Какая разница между Union vs Union All?]]></post-name>
      <excerpt type="text"><![CDATA[Приводится разница между Union vs Union All]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="d5338d2f-681b-4909-97b7-ef2b3ba714a5" />
      </categories>
      <tags>
        <tag ref="веб-приложения" />
        <tag ref="ms sql server" />
        <tag ref="sql" />
      </tags>
    </post>
    <post id="f07131f6-9e80-4172-a8c6-28088f24ada4" date-created="2008-10-30T15:51:00" date-modified="2009-08-16T10:25:54" approved="true" post-url="/BlogEngine.Web/post/2008/10/30/Change-field-values-in-boxed-value-types.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Изменение полей в упакованых размерных типах через интерфейсы]]></title>
      <content type="text"><![CDATA[<p>
Хотя задача по изменению полей в упакованных размерных типах на
практике может и вовсе не встретиться, но знать о существовании такой
возможности, думаю, не помешает. Рассказывать об упаковке и распаковке
значимых не вижу особого смысла, поэтому перейду непосредственно к коду.
</p>
<p>
[code=c#]&nbsp;&nbsp;&nbsp; internal interface IBoxed<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void SetValue(int value);<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; internal struct BoxedType : IBoxed<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private int value;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public BoxedType(int value)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.value = value;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #region IBoxed Members<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void SetValue(int value)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.value = value;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public override string ToString()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return string.Format(&quot;Value: {0}&quot;, value);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; class Program<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static void Main(string[] args)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BoxedType b = new BoxedType(5);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;First test: &quot; + b);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.SetValue(6);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Second test: &quot; + b);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; object o = b;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Third test: &quot; + o);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((BoxedType)o).SetValue(3);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Fourth test: &quot; + o);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((IBoxed)b).SetValue(8);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Fifth test: &quot; + b);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((IBoxed)o).SetValue(10);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Sixth test: &quot; + o);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; } [/code]
</p>
<p>
Ну и, конечно же, результаты:
</p>
<p>
First test: Value: 5<br />
Second test: Value: 6<br />
Third test: Value: 6<br />
Fourth test: Value: 6<br />
Fifth test: Value: 6<br />
<strong>Sixth test: Value: 10</strong> 
</p>
<p>
<a href="/file.axd?file=2008%2f10%2fBoxTypesTest.rar">BoxTypesTest.rar (19,38 kb</a>
</p>
]]></content>
      <post-name type="text"><![CDATA[Изменение полей в упакованых размерных типах через интерфейсы]]></post-name>
      <excerpt type="text"><![CDATA[Рассматривается технология изменения полей в упакованых размерных типах через интерфейсы]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="17914afd-98b7-4829-b118-4c99ca86be19" />
      </categories>
      <tags>
        <tag ref=".net" />
        <tag ref=".net framework" />
        <tag ref="c#" />
        <tag ref="исходники" />
        <tag ref="" />
      </tags>
    </post>
    <post id="586abdd7-8027-41c5-9caf-e92c87bd9f6c" date-created="2008-10-24T06:33:00" date-modified="2009-08-22T06:08:15" approved="true" post-url="/BlogEngine.Web/post/2008/10/24/Test-70-528-Microsoft-NET-Framework-Web-Based-Client-Development.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Экзамен 70-528 Microsoft .NET Framework 2.0 - Web Based Client Development. Отчёт]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2fmcp.png" alt="MCP, Microsoft certified professional" title="MCP, Microsoft certified professional" width="249" height="112" align="left" />Наконец-то это событие сбылось. Вчера сдал экзамен 70-528 Microsoft
.NET Framework 2.0 &ndash; Web Based Client Development. Набрал
немало-немного - 965 балов из 1000 возможных. Хочу поделится своими
впечатлениями. Далее обо всём по порядку.<br />
</p>
<p>
&nbsp;
</p>
<p>
<strong>Предисловие.<br />
</strong>Исторически сложилось, что наша контора (<a href="http://www.ism-ukraine.com">ISM Ukraine</a>) сертифицирует своих сотрудников в <a id="h5b2" href="http://www.bms-consulting.com/" title="БМС Консалтинг">БМС Консалтинг</a>.
К сожалению, в моем случае произошло исключение, так как БМС Консалтинг
не работал по техническим причинам и сдать экзамен раньше ноября
возможности не было. Я же в свою очередь не хотел откладывать это
событие на потом и моё руководство пошло мне навстречу, решив поискать
другой сертификационный центр. Другим сертификационным центром был
избран <a id="l0gk" href="http://incom.ua/" title="Инком">Инком</a> и
в течении следующей недели рокуводство улаживало проблемы с
документами. Этот процесс настолько растянулся, что я до последнего
момента сомневался в позитивном решении этого вопроса. К счастью, всё
закончилось хорошо и как я и просил экзамен был призначен на 23 октября.<br />
<br />
<strong>Несколько слов об компании Инком</strong><br />
На данный момент компания Инком не сотрудничает с Прометрик (<font face="Verdana,  Helvetica, Arial"><font face="Verdana,  Helvetica, Arial" size="2" color="#000000"><font face="Verdana,  Helvetica, Arial" size="2" color="#000000"><span class="spnMessageText">международная система тестирования</span></font></font></font>,
имеющая договор с Майкрософт), поэтому пройти тест 70-528
непосредственно у них пока возможности нет. Как я выяснил в процессе
переписки с саппортом Инкома, центр тестирования Prometric у них
откроется в течение месяца, а пока они отправляют своих клиентов для
сдачи экзаменов Майкрософт к своим партнёрам. Таким партнёром в моём
случае оказался <span style="font-size: 10pt"><a id="qdat" href="http://www.kvazar-micro.com/ru/" title="Квазар-Микро">Квазар-Микро</a>.<br />
<strong><br />
Квазар-Микро</strong><br />
</span>Зная
не по наслышке о пробках в Киеве, на поиски Квазар-Микро я отправился
заранее и в результате добрался до места назначения за час до
установленого времени. Как оказалось компания Квазар-Микро занимает
немалую площадь и мне пришлось немного походить в поисках нужного мне
здания. Пройдя процедуру регистрации, я попал к нужному мне человеку.
Хотя на часах ещё не было 11:00, сотрудница Квазар-Микро не заставила
меня ждать и начала процедуру подготовки в экзамену. По ходу действия
мне пришлось выложить запрещенные для использования устройства: телефон
и флешку. Так подготовка занимает некоторое время, мне было предложено
попить кофе (чаю) в специально отведённом месте. В добавок к чаю ещё
предлагалось печенье. Такое гостепреимство не могло не поднять
настроение.<br />
<br />
<strong>Экзамен</strong><br />
Экзамен проводился в специально
отведённом месте, оборудованном на 4-5 человек (точно не помню). Так
как это был мой первый экзамен сначала пришлось потренироваться в целях
обучения работы с программой. Лишь после этой процедуры я приступил к
сдаче целевого экзамена. И тут-то наступило полное разочарование. Со
всеми вопросами, как оказалось, я был знаком. Притом настолько знаком,
что отвечал практически не в читываясь в вопросы. Последние полностью
совпадали с вопросами в Braindump&#39;ах, о месте расположения которых я
упоминал в одном из предидущих <a href="/post/2008/09/01/Ekzamen-70-528-Microsoft-NET-Framework-20-e28093-Web-Based-Client-Development.aspx" title="Braindamps">постов</a>. Самое смешное, что даже ответы
были приведены в таком же порядке. Поэтому и не странно, что я потратил
всего лишь 25-30 мин. вместо 180 отведённых. Как оказалось допустился
нескольких ошибок, сколько именно сказать сложно, знаю только, что
промахнулся в нелюбимой мной теме &quot;Creating ASP.NET Mobile Web
Applications&quot;.<br />
<br />
<strong>Итоги</strong><br />
Сложность, вернее её полное отсутствие, в сдаче майкрософтовских
экзаменов меня разочаровала. Теперь для меня это не показатель. И если
раньше на ряду с разработанными проектами экзамены Майкрософта играли
важную роль, то надалее в определении &quot;крутости&quot; разработчика я их не
буду иметь ввиду, хотя вернее &quot;буду иметь&quot; ввиду :). Конечно, это
только моё мнение и каждый пусть для себя делает свои выводы.
Позитивным моментом в сдаче экзамена вижу только непосредственно саму
подготовку. Ведь то время, что я потратил не прошло зря, и знания,
которые я приобрёл, ни в коем случае не помешают.
</p>
]]></content>
      <post-name type="text"><![CDATA[Экзамен 70-528 Microsoft .NET Framework 2.0 - Web Based Client Development. Отчёт]]></post-name>
      <excerpt type="text"><![CDATA[Отчёт об прохождении экзамена 70-528 Microsoft .NET Framework 2.0 - Web Based Client Development]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="7cdbe65c-f7a7-4ae4-9885-3338d2192021" />
        <category ref="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" />
      </categories>
      <tags>
        <tag ref="c#" />
        <tag ref="asp.net" />
        <tag ref=".net" />
        <tag ref="майкрософт" />
        <tag ref="веб-приложения" />
        <tag ref="mcp" />
        <tag ref="сертификация" />
      </tags>
      <comments>
        <comment id="fad5db7d-e0f2-4b3f-854a-c7a3433476c4" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-10-23T13:18:46" date-modified="2008-10-23T13:18:46" approved="true" user-name="p.malyavkin" user-email="smile.real@gmail.com" user-ip="195.69.221.234" user-url="">
          <title type="text"><![CDATA[re: Экзамен 70-528 Microsoft .NET Framework 2.0 - Web Based Client Development. Отчёт]]></title>
          <content type="text"><![CDATA[Андрюха, поздравляю тебе с этим событием. Ты реально крут, в независимости от результата экзамена.

Молодец. Так держать.]]></content>
        </comment>
        <comment id="bcb0670e-fbeb-4d38-bd5f-ed2f85fae712" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-10-23T19:49:31" date-modified="2008-10-23T19:49:31" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="89.162.153.217" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Экзамен 70-528 Microsoft .NET Framework 2.0 - Web Based Client Development. Отчёт]]></title>
          <content type="text"><![CDATA[Паша, спасибо!]]></content>
        </comment>
        <comment id="bd649b02-bdaf-4e44-ae8f-504fe132cc83" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-08-22T06:08:15" date-modified="2009-08-22T06:08:15" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="91.124.11.194" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Экзамен 70-528 Microsoft .NET Framework 2.0 - Web Based Client Development. Отчёт]]></title>
          <content type="text"><![CDATA[test]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="72d769ef-1d57-4488-b28a-db3764674795" date-created="2008-10-20T03:23:00" date-modified="2008-10-20T03:51:27" approved="true" post-url="/BlogEngine.Web/post/2008/10/20/Chto-sluchilos-s-Blogmirnet!.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Что случилось с Blogmir.net?!]]></title>
      <content type="text"><![CDATA[<p>
Сегодня, перейдя по ссылке на Blogmir.net, обнаружил такую вот странную картинку. 
</p>
<p>
<img src="/image.axd?picture=2008%2f10%2fblogmir.png" alt="Что случилось с Blogmir.net?!" title="Что случилось с Blogmir.net?!" />
</p>
<p>
С первого взгляда показалось, что домен у сайта не продлён. Но в whois пишется такое:
</p>
<table border="0" cellspacing="1" class="whois">
	<tbody>
		<tr>
			<td class="t">Сreated:
			</td>
			<td>2007-10-16</td>
		</tr>
		<tr class="odd">
			<td class="t">
			Expires:
			</td>
			<td>2009-10-16</td>
		</tr>
		<tr>
			<td class="t">
			Updated:
			</td>
			<td>2008-10-18</td>
		</tr>
	</tbody>
</table>
<p>
Ладно, пусть сегодня ссылка ещё повесит, а завтра будет видно, вдруг оживёт. 
</p>
]]></content>
      <post-name type="text"><![CDATA[Что случилось с Blogmir.net?!]]></post-name>
      <excerpt type="text"><![CDATA[По каким-то причинам сервис Blogmir.net перестал работать]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="5c1a7791-b10c-4032-99ae-37605b09eb96" />
        <category ref="97a2581b-33d7-4013-8f99-4da2cc21009c" />
      </categories>
      <tags>
        <tag ref="разное" />
        <tag ref="блог" />
        <tag ref="веб-приложения" />
      </tags>
    </post>
    <post id="31ab2bda-70fb-4718-994d-641919db465c" date-created="2008-10-19T18:09:00" date-modified="2008-10-19T18:34:36" approved="true" post-url="/BlogEngine.Web/post/2008/10/19/Reasons-of-restarting-webapplications-domains-(ASPNET).aspx" type="normal" hasexcerpt="true" views="0" is-published="False">
      <title type="text"><![CDATA[Причины перегрузки доменов веб-приложений (ASP.NET)]]></title>
      <content type="text"><![CDATA[Домены веб-приложений перегружаются после выполнения следующих действий:<br />
<ul>
	<li>Добавление, изменение или удаление сборок из папки Bin.</li>
	<li>Добавление, изменение или удаление файлов локализаций из папок App_GlobalResources и App_LocalResources.</li>
	<li>Добавление, изменение или удаление файла Global.asax.</li>
	<li>Добавление, изменение или удаление файлов из папки App_Code.</li>
	<li>Добавление, изменение или удаление конфигурации Profile configuration.</li>
	<li>Добавление, изменение или удаление файла Web.config.</li>
	<li>Добавление, изменение или удаление ссылок Веб-сервисов из папки App_WebReferences.</li>
</ul>
]]></content>
      <post-name type="text"><![CDATA[Причины перегрузки доменов веб-приложений (ASP.NET)]]></post-name>
      <excerpt type="text"><![CDATA[Описываются причины перегрузки доменов веб-приложений в ASP.NET]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="c546e127-e412-4620-89ea-3e5833469830" />
      </categories>
      <tags>
        <tag ref="c#" />
        <tag ref="asp.net" />
        <tag ref=".net framework" />
        <tag ref=".net" />
        <tag ref="веб-приложения" />
        <tag ref="майкрософт" />
        <tag ref="visual studio" />
      </tags>
    </post>
    <post id="9ef4fa17-0300-475f-8d80-79fdd86b402c" date-created="2008-10-19T05:56:00" date-modified="2009-08-10T22:16:42" approved="true" post-url="/BlogEngine.Web/post/2008/10/19/Hostingua-review.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Обзор Hosting.ua]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f10%2flogo_block_05.jpg" alt="Обзор hosting.ua" title="Обзор hosting.ua" align="left" />Два месяца назад я столкнулся с проблемой выбора хостинга для блога. Так как блог-платформа <a href="/post/2008/09/07/BlogEngineNet-pervoe-vpechatlenie.aspx" title="BlogEngine.NET">BlogEngine.NET</a> написана на ASP.NET, для её работы нужен Windows хостинг. К сожалению, Windows хостинг на данный момент не является таким легкодоступным как Unix хостинг. Как показал поиск в Украине существуют не так много хостинговых компаний, которые поддерживают Windows хостинг. Где-то год назад я уже пробовал работать с компанией HostBizUa и хотя поначалу меня всё устраивало, вскоре я очень разочаровался (причины напишу в отдельном посте). <br />
На этот раз мой взгляд пал на компанию <a href="http://www.hosting.ua" title="http://www.hosting.ua">Hosting.ua</a>. В первую очередь очень заманчивыми показались цены за услуги, <strong>&quot;Базовый&quot; тариф</strong>, который полностью мне подходил по параметрам, стоит около 48$ в год. Он включает:<br />
- дисковое пространство: 5000 мб;<br />
- траффик: неограниченный;<br />
- POP3 ящики / размер: 20 / 500 мб;<br />
- персональный SMTP сервер;<br />
- MSSQL базы данных / размер: 3 / 500 мб;<br />
Другие детали хостинг пакета можно просмотреть <a href="http://www.hosting.ua/index.php?option=com_content&amp;task=view&amp;id=30&amp;Itemid=186" title="Обзор hosting.ua">здесь</a>.
</p>
<p>
К сожалению, у Hosting.ua нет тестового периода, поиск отзывов в Интернете об компании также ничего особого не дал. Но я всё-таки решил попробовать. Заказал у них домен и хостинг. Всё вместе обошлось около 63$. Перевод осуществил через WebMoney, хотя есть и другие варианты: кредитная карта, банковский перевод, Приват24, платежный терминал. В течении нескольких часов получил доступ к админке, как к хостингу, так и домену. Приятным оказался тот факт, что домен они зарегистрировали на меня.<br />
В процессе настраивания блога приходилось часто обращаться в службу поддержки. Ответы от последней приходили максимум в течении нескольких часов. В общем службой поддержки я остался довольным (исключение составляет пункт 5, приведённый в недостатках ниже).<br />
<br />
Основные <strong>недостатки</strong>, с которыми мне пришлось столкнуться за два месяца, приведены далее:<br />
1. Частая выгрузка доменов приложения (используя средства ASP.NET для мониторинга, которые настроены на отсылку сообщений по почте, за день в среднем приходит около 10 писем о выгрузке домена).<br />
2. Переодичная недоступность сервера (за два месяца насчитал три раза, когда сервер лежал).<br />
3. Неудобства при работе с MS SQL server (для работы с БД приходится использовать, как по мне, очень глючный продукт EMS SQL Manager 2008).<br />
4. Использование 25 порта для SMTP-сервера (хотя в проблеме с SMTP-сервером нужно винить моего провайдера (Intertelekom), который блокирует данный порт, всё же часть вины лежит и на хостинг-провайдере).<br />
5. Неосведомлённость об изменениях. Принципе этот пункт и стал причиной написания поста. Когда мне в очередной раз пришлось потратить попусту уйму времени при попытке подсоединиться к БД, написав сапорту о проблеме, я получил такой ответ:<br />
<em>&quot;В целях бехопастности и снижения нагрузки на виртуальный хостинг, подключения из вне к MSSQL только для определенных ip<br />
Сообщите ваш ip, который вы можете посмотреть на сайте 2ip.ru и мы откроем доступ для вашего ip.<br />
Спасибо.&quot;</em><br />
Нету, слов, я просто ах.. Неужели так сложно было уведомить и сэкономить мне при этом полдня ковыряний?!<br />
<br />
Вот такой вот хостинг провайдер Hosting.ua. Несмотря на недостатки я пока доволен.&nbsp;
</p>
]]></content>
      <post-name type="text"><![CDATA[Обзор Hosting.ua]]></post-name>
      <excerpt type="text"><![CDATA[Рассматриваются преимущества и недостатки хостинг провайдера Hosting.ua]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="5c1a7791-b10c-4032-99ae-37605b09eb96" />
        <category ref="c546e127-e412-4620-89ea-3e5833469830" />
        <category ref="372e902d-5410-4be9-8601-9bda68568af3" />
      </categories>
      <tags>
        <tag ref="обзор" />
        <tag ref="хостинг" />
        <tag ref="asp.net" />
        <tag ref="blogengine.net" />
      </tags>
      <comments>
        <comment id="2da1e4a2-f707-4997-94a4-889fd5659615" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-11-10T21:06:21" date-modified="2008-11-10T21:06:21" approved="true" user-name="Андрей Лапенко" user-email="andrey.lapenko@gmai.com" user-ip="193.110.20.173" user-url="http://imhoblog.ru/">
          <title type="text"><![CDATA[re: Обзор Hosting.ua]]></title>
          <content type="text"><![CDATA[Пользуемся тоже этим хостингом, соотношение цена/качество нормальное. Не без глюков, как у всех недорогих хостеров.]]></content>
        </comment>
        <comment id="5e0ab5c3-bd3d-45dd-bc20-e9d89c63ff1a" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-11-11T06:03:59" date-modified="2008-11-11T06:03:59" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="94.178.106.163" user-url="http://www.andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Обзор Hosting.ua]]></title>
          <content type="text"><![CDATA[Полностью согласен. В последнее время даже отклик после перегрузки домена приложения незаметен.]]></content>
        </comment>
        <comment id="c425ef08-d5b9-4e80-bf1c-cde9fe69218e" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-04-20T23:50:40" date-modified="2009-04-20T23:50:40" approved="true" user-name="Grifin" user-email="admin@codingclub.net" user-ip="80.78.42.226" user-url="">
          <title type="text"><![CDATA[re: Обзор Hosting.ua]]></title>
          <content type="text"><![CDATA[Интересно, а чем не понравился HostBizUa. Он не когда не падает. Там жирные каналы. Я уже больше 2 лет юзаю его и нет проблем. С сапортом тоже нет проблем всегда можно договориться. Они вообще очень бережно относятся к клиентом. Доказательством этого, это по моей просьбе они начали предоставлять услуги Win хостинга.]]></content>
        </comment>
        <comment id="178b0f63-f6c3-4ed9-b330-1c6227aa28a0" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-04-21T08:46:33" date-modified="2009-04-21T08:46:33" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="195.69.221.242" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Обзор Hosting.ua]]></title>
          <content type="text"><![CDATA[Оформил ответ на Ваш вопрос в новом посте http://andreykuzmenko.com/post/2009/04/23/HostBizUacom-review.aspx]]></content>
        </comment>
        <comment id="60bde9d5-8ace-49c1-9bd3-a7f6b3aad2d7" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-06-22T09:07:14" date-modified="2009-06-22T09:07:14" approved="true" user-name="Саша" user-email="mooh82@mail.ru" user-ip="94.179.19.218" user-url="">
          <title type="text"><![CDATA[re: Обзор Hosting.ua]]></title>
          <content type="text"><![CDATA[Как по мне этот хостинг, работает недорбросовестно...
3 причины по оторым этот хостинг &quot;у...о&quot;
1. Это закрывают за нагрузку (без вопросов).
2. они не подписывают с вами договор 
3. не возвращают денег...]]></content>
        </comment>
        <comment id="5ab4266d-9017-4a08-aa93-98941df86c53" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-06-23T12:43:15" date-modified="2009-06-23T12:43:15" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="195.69.221.242" user-url="http://www.andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Обзор Hosting.ua]]></title>
          <content type="text"><![CDATA[К счастью, мне не приходилось сталкиваться с такими проблемами, но это заставляет задуматься. Хотелось бы узнать какому хостингу Вы отдаёте предпочтение? ]]></content>
        </comment>
        <comment id="1475584a-eeab-4d6f-8a3a-a7f0b8c64d01" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-06-25T08:37:35" date-modified="2009-06-25T08:37:35" approved="true" user-name="Саша" user-email="akorovnikov@rambler.ru" user-ip="94.178.94.174" user-url="">
          <title type="text"><![CDATA[re: Обзор Hosting.ua]]></title>
          <content type="text"><![CDATA[Не советую Вам хостинг компании ]]&gt;hosting.ua]]&gt;!
Они работают не законно, закрывают сайты по глупым причинам, и не возвращают деньги за хостинг..

Те у кого была похожа ситуация, прошу помочь, дополнить эту тему..

Заказал этот хостинг.. заплатил 230 грн. за год (небольшие деньги, но все-же).
во первых то что я делал за такие - же деньги на другом хостинге, здесь такого нет...
1. попытался сделать экспотр -импорт прайса на сайт.. У меня не получилось выскочила ошибка 500!

в ответ получил 
Эта ошибка также может быть связана с тем, что операция импорта требует болько ресурсов CPU, чем позволено в вашем тарифном плане. 

2. Мой сайт отключили 
Задал вопрос, ответ получил 
Своей нагрузкой вы мешаете нормальной работе остальным пользователям сервера. 
Нагрузка выше 35% недопустима для виртуального хостинга и сайты с такой нагрузкой необходимо размещать на выделенном сервере 


3. попросил вернуть деньги, за хостинг (на этом хостинге я 2-й день)..
В ответ получил 
[24.06.2009 0:29:58] 
A: Согласно публичной оферты с которой вы согласились при регистрации хостинга: 

]]&gt;http://hosting.ua/ukr/images/stories/docs/Oferta_rus.doc]]&gt; 

Возврат денег не предусмотрен! 

Отдел Безопасности, 
www.Hosting.UA

Оставил сообщения буду пытаться вернуть (возможно через суд, если не поможет письмено)

[24.06.2009 10:59:03] 
Q: Раз такое дело. 
Я так это не оставлю.. 
Во первых оставлю неготивные отзывы о работе вашего, 
ненкачественного хостинга... И о том как вы кидаете клиентов.. 

[24.06.2009 11:06:30] 
Q: Во вторых у меня друг юрист... Посмотрим, что он скажет по поводу всей этой писанины...И вашей аферы...

Кто захочет попробовать хостинг этой компании не рекомендую.. Есть другие. Где предлогают заключать договор.... ]]></content>
        </comment>
        <comment id="d0706a6c-81c7-4db4-a7ef-324b90d6c045" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-06-25T13:45:40" date-modified="2009-06-25T13:45:40" approved="true" user-name="Саша" user-email="akorovnikov@rambler.ru" user-ip="94.178.94.174" user-url="">
          <title type="text"><![CDATA[re: Обзор Hosting.ua]]></title>
          <content type="text"><![CDATA[рекомендую хостинг dtcenter.com.ua (правда бывало несколько раз из-за сис админа  в суботу и в воскресенье не работали сайты он подключал 2-ю линию). Теперь там другой сис. админ и проблем вроде больше нет ! Цены не дорогие, меня устраивает, после работы с hosting.ua! Вам смотреть и выбирать. Меня пока с моими продажами устраивает dtcenter.com.ua.. Дальше посмотрим если что закажу у них Аренду серверов!]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="7d2c192f-78ee-45bd-915c-9e109ee2ddd4" date-created="2008-10-13T08:27:00" date-modified="2008-10-19T07:19:13" approved="true" post-url="/BlogEngine.Web/post/2008/10/13/Two-Addons-for-Visual-studio.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Two Addons for Visual studio]]></title>
      <content type="text"><![CDATA[<p>
Решил поделиться ссылками на два аддона к Visual Studio, которые упрощают мне ежедневную жизнь. <br />
</p>
<h3><img src="file:///C:/DOCUME%7E1/A2401%7E1.KUZ/LOCALS%7E1/Temp/moz-screenshot.jpg" alt="" />1. PowerCommands
</h3>
<p>
<img src="/image.axd?picture=2008%2f10%2fPowerCommands.png" alt="" align="left" />Данный аддон представляет собой набор расширений для Visual Studio 2008, подробное описание можно почитать в <a id="umir" href="http://code.msdn.microsoft.com/PowerCommands" title="MSDN">MSDN</a>. Я только хочу остановиться на самых полезных (по моему мнению).<br />
<br />
- <span><strong>Collapse Projects</strong></span>
- сворачивает проекты в Solution Explorer. Разрабатывая большой продукт
из нескольких десятков проектов (имеются ввиду проекты Visual Studio),
сложно переключаться между ними, постоянно приходится ручками клацать
по плюсикам. Фича <span>Collapse Projects</span> позволяет &quot;одним движением&quot; руки свернуть все развёрнутые проекты. По частоте использования у меня она занимает первой место.<br />
<br />
- <span><strong>Remove and Sort Usings on save - </strong></span>сортирует using-выражения, а также <span>удаляет</span> неиспользуемые. Эта фича доступна только в C#.<br />
<span><strong>- Edit Project File</strong></span> - позволяет редактировать proj-файл в Visual Studio.<br />
<br />
<span><strong>- Copy References</strong></span>/<span><strong>Paste References</strong></span> - копирование (вставка) <span>Reference</span>&#39;ов между проектами.<br />
Скачать можно <a id="i489" href="http://code.msdn.microsoft.com/PowerCommands" title="PowerCommands">здесь</a>.<br />
</p>
<h3>
2. RockScroll<br />
</h3>
<p>
Заменяет стандартный скроллер окна (см. рисунок). При выделении слова
двойным щелчком мишы RockScroll показывает все места, где встречается
это слово. Единственный недостаток (найденный мною) этого аддона - это
то, что он не поддерживает код, завёртнутый в регионы.
</p>
<p>
<img src="/image.axd?picture=2008%2f10%2fRockScrollAddonSelection.png" alt="" align="center" /> 
</p>
<p>
<a id="e2up" href="http://www.hanselman.com/blog/content/binary/RockScrollv1.msi" title="Download RockScroll">Download RockScroll</a> <br />
</p>
]]></content>
      <post-name type="text"><![CDATA[Two Addons for Visual studio]]></post-name>
      <excerpt type="text"><![CDATA[Полезная подборка аддонов к Visual studio.]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" />
      </categories>
      <tags>
        <tag ref=".net framework" />
        <tag ref=".net" />
        <tag ref="c#" />
        <tag ref="visual studio" />
      </tags>
      <comments>
        <comment id="cd2bd484-acdd-4b96-a37e-dbd51a275286" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-10-16T08:21:56" date-modified="2008-10-16T08:21:56" approved="true" user-name="p.malyavkin" user-email="smile.real@gmail.com" user-ip="195.69.221.234" user-url="">
          <title type="text"><![CDATA[re: Two Addons for Visual studio]]></title>
          <content type="text"><![CDATA[Андрей, спасибо тебе большое за подобные статьи. Жить с такими блогами намного проще :)]]></content>
        </comment>
        <comment id="d1f11cb9-1464-4d5a-9c7c-64eda72cfbca" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-10-18T03:12:22" date-modified="2008-10-18T03:12:22" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="93.180.226.222" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Two Addons for Visual studio]]></title>
          <content type="text"><![CDATA[to p.malyavkin: всегда пожалуйста]]></content>
        </comment>
        <comment id="2b276914-384a-4967-a502-a71c158b2ad4" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-10-19T01:35:22" date-modified="2008-10-19T01:35:22" approved="true" user-name="PoiSoN" user-email="poison77@gmail.com" user-ip="82.166.64.70" user-url="http://virtser.net/blog/">
          <title type="text"><![CDATA[re: Two Addons for Visual studio]]></title>
          <content type="text"><![CDATA[Пробовал я как-то RockScroll под VS2005, окозался довольно глючным при работе с большими файлами. Поэтому и снес его.]]></content>
        </comment>
        <comment id="22e06388-807e-4c25-89da-954f89f192e8" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-10-19T07:19:13" date-modified="2008-10-19T07:19:13" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="78.111.190.204" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Two Addons for Visual studio]]></title>
          <content type="text"><![CDATA[хм, я его использовал только под VS 2008 и не замечал подобных глюков. Да и как-то так сложилось, что на работе мы пытаемся не писать больших классов, так что сложно что-то сказать.]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="5b62c772-43b4-4c1f-b557-4286ed7307ef" date-created="2008-10-09T03:11:00" date-modified="2009-08-16T09:06:41" approved="true" post-url="/BlogEngine.Web/post/2008/10/09/Mono-20-Released.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Mono 2.0 Released]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f10%2fmno2homebanner.png" alt="" align="left" />Наконец-то вышел <a href="http://www.mono-project.com/Main_Page" title="Mono 2.0 Released">релиз Mono 2.0</a> (.NET Framework под Линукс).&nbsp; Хотя судя по описанию на официальном сайте, данный Framework может быть установлен не только на Линукс, он также будет работать и под Windows с Apple.
</p>
<p>
PS: оказывается вместе с .NET Framework Mono разрабатывает и IDE <a href="http://monodevelop.com/Main_Page"><strong>MonoDevelop</strong></a>.
</p>
]]></content>
      <post-name type="text"><![CDATA[Mono 2.0 Released]]></post-name>
      <excerpt type="text"><![CDATA[Компания Mono выпустила релиз .NET Framework под Линукс]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" />
      </categories>
      <tags>
        <tag ref=".net framework" />
        <tag ref=".net" />
        <tag ref="asp.net" />
        <tag ref="майкрософт" />
        <tag ref="веб-приложения" />
        <tag ref="c#" />
        <tag ref="" />
      </tags>
    </post>
    <post id="68661193-1cdc-40b5-9cb6-f7d9f6cce3de" date-created="2008-10-08T16:18:00" date-modified="2009-08-16T08:58:54" approved="true" post-url="/BlogEngine.Web/post/2008/10/08/Pervyi-SEO-jeksperiment-proshjol-udachno.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Первый SEO-эксперимент прошёл удачно]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f10%2fSEO-Blocks.gif" alt="Новые штрафы за нарушение правил дорожного движения (Украина)" title="Новые штрафы за нарушение правил дорожного движения (Украина)" align="left" />По мере свободного времени всё больше углубляюсь в поисковую оптимизацию. И хотя в этом направлении я все ещё &quot;зелёный&quot;, но некоторые приёмы уже успел изучить. Далее об этом по подробнее. 
</p>
<p>
Как известно, совсем недавно в Украине подняли штрафы за нарушение правил дорожнего движения. Так как я и сам являюсь водителем, данная новость меня не могла не заинтересовать. Правда в этот раз я поступил немного необычно, вместо того, чтобы сразу же воспользоваться любимым поисковиком (Гугл), решил посмотреть частоту запросов по таким ключевым словам: &quot;поднятие штрафов&quot;, &quot;новые штрафы в Украине&quot;, &quot;штрафы пдд&quot;. 
</p>
<p>
Результаты иследований и внутренний голос подсказывали, что тема поднятия штрафов заинтересуют многих водителей и на этом можно попробовать заработать немного трафика. Собрав по минимуму материала, я выложил его в посте <a href="/post/2008/10/01/Novye-shtrafy-za-narushenie-pravil-dorozhnogo-dvizhenija-(Ukraina).aspx" title="Новые штрафы за нарушение правил дорожного движения (Украина) ">Новые штрафы за нарушение правил дорожного движения (Украина).</a> Первые пару дней после индексации страницы переходов с поисковиков было по несколько в день. Но сегодня случился настоящий бум (как для моего блога), по связанным ключевым фразам перешло более 30 уников. Судя по переходам в первые дни, я уже и не надеялся на такой эффект.
</p>
<p>
&nbsp;
</p>
]]></content>
      <post-name type="text"><![CDATA[Первый SEO-эксперимент прошёл удачно]]></post-name>
      <excerpt type="text"><![CDATA[В связи с поднятием штрафов за нарушение ПДД решил провести эксперимент]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="5c1a7791-b10c-4032-99ae-37605b09eb96" />
        <category ref="bab5bf47-abd6-4b6c-b452-d9a9bc0f2a34" />
        <category ref="138205a2-d987-4a85-aa5f-c0d680d35f4e" />
      </categories>
      <tags>
        <tag ref="блог" />
        <tag ref="о жизни" />
        <tag ref="разное" />
        <tag ref="seo" />
      </tags>
    </post>
    <post id="16ac959a-7a77-4e27-b867-699d81ba5d5b" date-created="2008-10-07T16:31:00" date-modified="2008-10-08T16:18:37" approved="true" post-url="/BlogEngine.Web/post/2008/10/07/MCP-exam-Web-Based-Client-Development.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[70-528 Microsoft .NET Framework 2.0 – Web Based Client Development - подготовка окончена]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2fmcp.png" alt="MCP, Microsoft certified professional" title="MCP, Microsoft certified professional" width="249" height="112" align="left" />Последние несколько дней провёл в активной подготовке к экзамену, а если брать ко вниманию, что свободное время у меня есть только после работы, то отдыха, как такового, вообще не было. 
</p>
<p>
Если верить моему предидущему <a href="http://andreykuzmenko.com/post/2008/09/01/Ekzamen-70-528-Microsoft-NET-Framework-20-e28093-Web-Based-Client-Development.aspx" title="70-528 Microsoft .NET Framework 2.0 &ndash; Web Based Client Development">посту </a>на эту тему, то активно готовиться к экзамену я начал в районе первых чисел сентября. Так что, в принципе, месяца полтора с головой хватит на подготовку, если, конечно, при этом имеется практический опыт, а у меня он уже переваливает за 2 года.
</p>
<p>
В целом, основные сложности в этом экзамене связаны с такими темами, с которыми на практике не приходилось или приходилось мало сталкиваться. Например:
</p>
<p>
<strong>- Разработка приложений под мобильные телефоны</strong>. Ознакомился чисто теоретически. Почитал книгу, попроходил тест. Было даже желание попробовать создать хотя бы тестовый проект, но оно умерло вместе с первой попыткой, так как в Visual Studio 2008, по умолчанию, отсутствует возможность создания таких проектов. Скорей всего нужно доставлять какие-то расширения, а мне, чесно говоря, просто впадло разбираться, так как в ближайшем будущtм этим направлением заниматься не собираюсь и точка. 
</p>
<p>
<strong>- Webparts.</strong> Эта тема подобна мобильным веб-приложениям, на практике знаком мало, в реальных приложениях не использовал. Хотя создать тестовый пример с webpart&#39;ами особого труда не составляет. Как мне показалось, самое сложное в webpart&#39;ах - это настраивание связи между ними для передачи данных, пришлось потратить немного времени на тестовое приложение.
</p>
<p>
<strong>- Ado.NET</strong>. Занимает львиную часть вопросов в экзамене. Нужно хорошо разобраться в первую очередь с DataSet&#39;ами, а возможностей у этого зверя очень много. Опять же на практике используются лишь некоторые, а реально знать нужно не мало. Так же нужно хорошо разобраться со средствами редактирования XML. 
</p>
<p>
В принципе, это основные темы, с которыми пришлось немного повозиться. Если брать ко вниманию, что при подготовке к экзамену у меня был неплохой практический опыт, то со следующими темами я уже был хорошо знаком:
</p>
<p>
1. Добавление и настройка серверных элементов управления.<br />
2. Создание собственных элементов управления.<br />
3. Валидаторы, мастер пейджи.<br />
4. Управление состоянием.<br />
5. Настройка и персонализация веб-приложений.<br />
6. Аутентификация, авторизация, персонализация.<br />
7. Мониторинг, развёртывание, кеширование.<br />
<br />
Ну и ещё пара слов по теме. Сегодня результаты моей подготовки были оценены на работе и после довольно долгого и в тоже время интересного собеседования было решено, что я полностью готов к сдаче 70-528 экзамена. Так что скорей всего на следующей неделе придется посетить столицу (Киев), что бы официально подтвердить свои знания в сертификационном центре. По этому поводу обязательно отпишусь.
</p>
]]></content>
      <post-name type="text"><![CDATA[70-528 Microsoft .NET Framework 2.0 – Web Based Client Development - подготовка окончена]]></post-name>
      <excerpt type="text"><![CDATA[В посте выложены результаты подготовки к экзамену 70-528 Microsoft .NET Framework 2.0 – Web Based Client Development]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" />
        <category ref="7cdbe65c-f7a7-4ae4-9885-3338d2192021" />
      </categories>
      <tags>
        <tag ref="mcp" />
        <tag ref="asp.net" />
        <tag ref=".net framework" />
        <tag ref=".net" />
        <tag ref="майкрософт" />
        <tag ref="c#" />
      </tags>
    </post>
    <post id="366afafe-3ae5-4729-bded-a0613a632bed" date-created="2008-10-02T08:28:00" date-modified="2009-08-16T08:18:02" approved="true" post-url="/BlogEngine.Web/post/2008/10/02/Lada-Revolution-ili-otvet-Lamborghini.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Lada Revolution или "ответ Lamborghini"]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f10%2f3503.jpg" alt="Lada Revolution или &quot;ответ Lamborghini&quot;" title="Lada Revolution или &quot;ответ Lamborghini&quot;" align="left" />Сегодня накнулся на эту статью <a href="http://auto.mail.ru/text.html?id=27612" title="АвтоВАЗ бросил вызов Ferrari и Lamborghini">&quot;АвтоВАЗ бросил вызов Ferrari и Lamborghini&quot;</a> . Чесно говоря такого от ВАЗа не ожидал. Смотря на все предидущие выпущенные модели, эта ну ни как не вписывается в разработки ВАЗа.
</p>
<p>
Судя по внешнему виду и по описанию эта машина будет стоить дорого. Вот только станет ли она конкурентом Ferrari и Lamborghini - это уже вопрос. Если её цена будет меньше чем у конкурентов, возможно её будут покупать. Ну а если цены будут примерно одинаковыми я бы предпочёл бы конкурентов. 
</p>
<p>
Терзают сомнения, что машина получится нормальной. ВАЗ выпускает больше народные (дешёвые) машины и скорей всего опыта подобных разработок у них нет, возможно я ошибаюсь.
</p>
<p>
Ещё совсем недавно я и сам ездил на &quot;девятке&quot; (ВАЗ 2109) 1994 года выпуска, поэтому я хорошо знаю, что такое скрип панелей, стук кришки багажника, рёв мотора и т.д. Несколько раз мне приходилось ездить и на Калине, правда не пробовал на Приоре, но, думаю, у этих машин общий диагноз. С другой стороны какая цена - такое и качество.
</p>
<p>
PS: надеюсь всё-таки, что у ВАЗа что-то получится и эта машина станет такой же народной, как и все предидущие.
</p>
]]></content>
      <post-name type="text"><![CDATA[Lada Revolution или "ответ Lamborghini"]]></post-name>
      <excerpt type="text"><![CDATA[АвтоВАЗ собирается выпускать Lada Revolution, конкурента Ferrari и Lamborghini]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="bab5bf47-abd6-4b6c-b452-d9a9bc0f2a34" />
        <category ref="d4ddb9b2-e6b1-4ef8-9217-a6a52cb47501" />
      </categories>
      <tags>
        <tag ref="ваз" />
        <tag ref="lada revolution" />
        <tag ref="разное" />
      </tags>
      <comments>
        <comment id="99a793bc-7652-4ef2-bac8-4875ed5d4960" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-12-19T21:38:35" date-modified="2008-12-19T21:38:35" approved="true" user-name="Ваз" user-email="Serge-pro@yandex.ru" user-ip="78.36.166.77" user-url="http://vaz2104.net/">
          <title type="text"><![CDATA[re: Lada Revolution или "ответ Lamborghini"]]></title>
          <content type="text"><![CDATA[Да, я тоже надеюсь, что российский автопром, встанет наконец на ноги и о нем заговорят во всем мире только с положительной стороны. Главное, чтобы автомобиль выпустили как можно раньше, а не через пару тройку лет.]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="7993caaf-cf0c-4dd6-af8c-1029f87abfd0" date-created="2008-10-02T03:47:00" date-modified="2009-08-16T08:18:49" approved="true" post-url="/BlogEngine.Web/post/2008/10/02/ServerHtmlEncode-(vyzovy-vnutri-ASPNET-kontrolov).aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Server.HtmlEncode (вызовы внутри ASP.NET контролов)]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f10%2fASP.NET.png" alt="Server.HtmlEncode (вызовы внутри ASP.NET контролов)" title="Server.HtmlEncode (вызовы внутри ASP.NET контролов)" align="left" />Как известно метод <strong>Server.HtmlEncode</strong> преобразовывает входящую строку в безопасный HTML-код. Вот какие преобразования она делае:
</p>
<ol>
	<li>
	&amp; - &amp;amp;
	</li>
	<li>
	&quot; - &amp;quote;
	</li>
	<li>
	&#39; - &amp;#039;
	</li>
	<li>
	&lt; - &amp;lt;
	</li>
	<li>&gt; - &amp;gt;
	</li>
</ol>
Но это не главное, нашёл вот <a href="http://blogs.msdn.com/sfaust/attachment/8918996.ashx" title="Server.HtmlEncode (вызовы внутри ASP.NET контролов)">документ</a>, в котором собрана информация о том, для каких свойств ASP.NET контролов вызывается функция HtmlEncode.<br />
<br />
]]></content>
      <post-name type="text"><![CDATA[Server.HtmlEncode (вызовы внутри ASP.NET контролов)]]></post-name>
      <excerpt type="text"><![CDATA[Приведён документ в котором собраны вызовы Server.HtmlEncode для свойств ASP.NET контроло]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" />
        <category ref="c546e127-e412-4620-89ea-3e5833469830" />
      </categories>
      <tags>
        <tag ref="майкрософт" />
        <tag ref="веб-приложения" />
        <tag ref="visual studio" />
        <tag ref=".net framework" />
        <tag ref=".net" />
        <tag ref="asp.net" />
        <tag ref="c#" />
        <tag ref="разработка" />
      </tags>
    </post>
    <post id="323a8b96-f274-4b38-8b3e-87763cdaf8cb" date-created="2008-10-01T12:51:00" date-modified="2009-08-16T08:14:16" approved="true" post-url="/BlogEngine.Web/post/2008/10/01/Novye-shtrafy-za-narushenie-pravil-dorozhnogo-dvizhenija-(Ukraina).aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Новые штрафы за нарушение правил дорожного движения (Украина)]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f10%2fpalka.jpg" alt="Новые штрафы за нарушение правил дорожного движения (Украина)" title="Новые штрафы за нарушение правил дорожного движения (Украина)" align="left" />На днях Верховная Рада Украины приняла закон, увеличивающий размер штрафов за правонарушение в сфере безопасности дорожного движения. 
</p>
<p>
С одной стороны такой закон давно напрашивался, уж слижком много людей гибло по колёсами автомобилей. Но с другой стороны я боюсь даже приставить насколько увеличатся взятки органам ГАИ. Если сейчас за привышение скорости на месте можно рассчитаться за 10-20 грн. (по закону штраф - 8,50-17 грн.), то при новых расценках это будет очень большое удовольствие (по закону - 170-225 грн). 
</p>
<p>
Ниже приведена таблица основных штрафов.
</p>
<p>
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>RU</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]-->
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:1;
mso-generic-font-family:roman;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:204;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-1610611985 1073750139 0 0 159 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin-top:0cm;
margin-right:0cm;
margin-bottom:10.0pt;
margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-fareast-language:EN-US;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-fareast-language:EN-US;}
.MsoPapDefault
{mso-style-type:export-only;
margin-bottom:10.0pt;
line-height:115%;}
@page Section1
{size:612.0pt 792.0pt;
margin:2.0cm 42.5pt 2.0cm 3.0cm;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Обычная таблица";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
table.MsoTableGrid
{mso-style-name:"Сетка таблицы";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-priority:59;
mso-style-unhide:no;
border:solid black 1.0pt;
mso-border-themecolor:text1;
mso-border-alt:solid black .5pt;
mso-border-themecolor:text1;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-border-insideh:.5pt solid black;
mso-border-insideh-themecolor:text1;
mso-border-insidev:.5pt solid black;
mso-border-insidev-themecolor:text1;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-fareast-language:EN-US;}
</style>
<![endif]-->
<table border="1" cellspacing="0" cellpadding="0" width="624" style="border: 1px none ; border-collapse: collapse; margin-left: 10px; height: 720px">
	<tbody>
		<tr valign="middle">
			<td align="center" valign="top" style="border: 1pt solid black; padding: 0cm 5.4pt; width: 170px">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<strong><font size="2">Основные нарушения</font></strong>
			</p>
			</td>
			<td width="160" align="center" valign="top" style="border-style: solid solid solid none; border-color: black black black -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<strong><font size="2">Существующие штрафы</font></strong>
			</p>
			</td>
			<td width="160" align="center" valign="top" style="border-style: solid solid solid none; border-color: black black black -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<strong><font size="2">Новые штрафы</font></strong>
			</p>
			</td>
			<td width="160" align="center" valign="top" style="border-style: solid solid solid none; border-color: black black black -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<strong><font size="2">Штрафные балы</font></strong>
			</p>
			</td>
		</tr>
		<tr>
			<td width="159" valign="top" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 119.6pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<font size="2">Не пристегнут ремень безопасности</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">3,40-8,50 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">170-255 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">2</font>
			</p>
			</td>
		</tr>
		<tr>
			<td width="159" valign="top" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 119.6pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<font size="2">Проезд перекрёстка на запрещающий сигнал светофора</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">8,50-17 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">170-255 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">5</font>
			</p>
			</td>
		</tr>
		<tr>
			<td width="159" valign="top" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 119.6pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<font size="2">Превышение скорости на 21-50 км/ч</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">8,50-17 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">170-255 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">7</font>
			</p>
			</td>
		</tr>
		<tr>
			<td width="159" valign="top" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 119.6pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<font size="2">Нарушение требований знаков, езда по тротуару</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">3,40-8,50 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">255-340 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">5</font>
			</p>
			</td>
		</tr>
		<tr>
			<td width="159" valign="top" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 119.6pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<font size="2">Нарушение правил остановки и стоянки</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">3,40-8,50 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">255-340 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">5</font>
			</p>
			</td>
		</tr>
		<tr>
			<td width="159" valign="top" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 119.6pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<font size="2">Нарушение правил проезда ж/д переезда</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">34-68 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">255-340 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">10</font>
			</p>
			</td>
		</tr>
		<tr style="height: 29.65pt">
			<td width="159" valign="top" style="border-style: none solid solid; border-color: -moz-use-text-color black windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 119.6pt; height: 29.65pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<font size="2">Не пропустил пешехода на &laquo;зебре&raquo;</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 29.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">8,50-17 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 29.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">255-340 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 29.65pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">5</font>
			</p>
			</td>
		</tr>
		<tr style="height: 14.25pt">
			<td width="159" valign="top" style="border-style: none solid solid; border-color: -moz-use-text-color black windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 119.6pt; height: 14.25pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<font size="2">Пользование мобильным телефоном (без гарнитуры)</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 14.25pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">Не было</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 14.25pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">425-510 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 14.25pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">5</font>
			</p>
			</td>
		</tr>
		<tr style="height: 18.75pt">
			<td width="159" valign="top" style="border-style: none solid solid; border-color: -moz-use-text-color black windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 119.6pt; height: 18.75pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<font size="2">Не предоставил преимущества маршрутным ТС</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 18.75pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">8,50-17 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 18.75pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">425-510 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 18.75pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">5</font>
			</p>
			</td>
		</tr>
		<tr style="height: 12.75pt">
			<td width="159" valign="top" style="border-style: none solid solid; border-color: -moz-use-text-color black windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 119.6pt; height: 12.75pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<font size="2">Превышение скорости более чем на 50 км/ч</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 12.75pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">8,50-17 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 12.75pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">680-850 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 12.75pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">8</font>
			</p>
			</td>
		</tr>
		<tr style="height: 17.25pt">
			<td width="159" valign="top" style="border-style: none solid solid; border-color: -moz-use-text-color black windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 119.6pt; height: 17.25pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<font size="2">Создание аварийной обстановки</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 17.25pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">34-68 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 17.25pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">680-850 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 17.25pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">12</font>
			</p>
			</td>
		</tr>
		<tr style="height: 18pt">
			<td width="159" valign="top" style="border-style: none solid solid; border-color: -moz-use-text-color black windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 119.6pt; height: 18pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<font size="2">Управление без документов, полиса ОСАГО</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 18pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">8,50-17 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 18pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">510-850 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 18pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">7</font>
			</p>
			</td>
		</tr>
		<tr style="height: 10.5pt">
			<td width="159" valign="top" style="border-style: none solid solid; border-color: -moz-use-text-color black windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 119.6pt; height: 10.5pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<font size="2">Управление в состоянии опьянения</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 10.5pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">225-340 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 10.5pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">1360-2550 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 10.5pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">25</font>
			</p>
			</td>
		</tr>
		<tr style="height: 15.75pt">
			<td width="159" valign="top" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 119.6pt; height: 15.75pt">
			<p style="margin-bottom: 0.0001pt; line-height: normal" class="MsoNormal">
			<font size="2">Повторная езда в состоянии опьянения</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 15.75pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">340-680 грн.</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 15.75pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">Лишение прав на 2-3 года</font>
			</p>
			</td>
			<td width="160" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 119.65pt; height: 15.75pt">
			<p style="margin-bottom: 0.0001pt; text-align: center; line-height: normal" class="MsoNormal" align="center">
			<font size="2">-</font>
			</p>
			</td>
		</tr>
	</tbody>
</table>
</p>
<p>
&nbsp;
</p>
<p>
В случае набора 30 штрафных балов права конфискуют в судебном порядке. Я правда ещё не понял списываются ли эти балы на протяжении года или нет. На начальном этапе балы будут заноситься в талон к удостоверению водителя, в дальнейшем планируется разработать специальную автоматизированную систему. 
</p>
<p>
PS: Вообщем, набираем балы как в школе. Мне в первые хочется быть двоешником или даже хуже.
</p>
]]></content>
      <post-name type="text"><![CDATA[Новые штрафы за нарушение правил дорожного движения (Украина)]]></post-name>
      <excerpt type="text"><![CDATA[На днях Верховная Рада Украины приняла закон, увеличивающий размер штрафов за правонарушение в сфере безопасности дорожного движения. Таблица штрафов]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="bab5bf47-abd6-4b6c-b452-d9a9bc0f2a34" />
      </categories>
      <tags>
        <tag ref="разное" />
        <tag ref="о жизни" />
      </tags>
      <comments>
        <comment id="953b6e69-3863-4a97-ba26-c5657c518dcb" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-04-17T20:24:19" date-modified="2009-04-17T20:24:19" approved="true" user-name="Sunny" user-email="nimci@mail.ru" user-ip="92.113.146.175" user-url="">
          <title type="text"><![CDATA[re: Новые штрафы за нарушение правил дорожного движения (Украина)]]></title>
          <content type="text"><![CDATA[Если випил сутки назад то ето считаестя что ты пьяный???? ]]></content>
        </comment>
        <comment id="30622999-75cf-42fd-8a38-4ad7faec68d4" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-04-18T23:06:08" date-modified="2009-04-18T23:06:08" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="95.132.24.98" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Новые штрафы за нарушение правил дорожного движения (Украина)]]></title>
          <content type="text"><![CDATA[Сложно сказать, смотря в каком обьёме пить. Тут ещё всё зависит от организма, поэтому у каждого человека будет по-разному. Я, когда приходится садиться за руль на следующий день после пьянки, выпиваю таблетку &quot;антиполицая&quot;, чтобы не было перегара и аккуратно еду.]]></content>
        </comment>
        <comment id="3dc4752f-a899-4c89-b18d-59c46ea213c8" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-05-04T15:24:07" date-modified="2009-05-04T15:24:07" approved="true" user-name="сапенк" user-email="des@yandex.ru" user-ip="195.95.139.6" user-url="">
          <title type="text"><![CDATA[re: Новые штрафы за нарушение правил дорожного движения (Украина)]]></title>
          <content type="text"><![CDATA[эти мусора с жиру бесятся ебальники лопнуть вот вот]]></content>
        </comment>
        <comment id="7c629597-ed1d-425c-b847-bec276baedd2" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-05-04T20:26:34" date-modified="2009-05-04T20:26:34" approved="true" user-name="сапенк" user-email="des@yandex.ru" user-ip="195.95.139.6" user-url="">
          <title type="text"><![CDATA[re: Новые штрафы за нарушение правил дорожного движения (Украина)]]></title>
          <content type="text"><![CDATA[а в месте с ними и наше правительство  ]]></content>
        </comment>
        <comment id="9791b0ec-1379-48b6-a749-672c1fd3a891" parentid="00000000-0000-0000-0000-000000000000" date-created="2009-05-05T15:38:20" date-modified="2009-05-05T15:38:20" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="95.132.193.129" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Новые штрафы за нарушение правил дорожного движения (Украина)]]></title>
          <content type="text"><![CDATA[Недавно попался на обгоне под знак &quot;Обгон запрещён&quot; так пришлось выложить сотню, на полтинник носом крутят... Вот так, выросли штрафы - выросли взятки.]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="25e494a9-5f7e-42a1-8f6d-9ea7e5ed8c36" date-created="2008-09-29T12:22:00" date-modified="2008-09-29T12:50:24" approved="true" post-url="/BlogEngine.Web/post/2008/09/29/Snippets.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Code snippets (редакторы)]]></title>
      <content type="text"><![CDATA[<p>
<em>Для тех кто не &quot;в теме&quot;: в программировании сниппеты обозначают небольшой кусок кода, который может быть повторно использован. </em><br />
Среда
разработки Microsoft Visual Studio начиная с версии 2005 предлагает ряд
встроенных сниппетов. Нажимая комбинацию Ctrl+k+s (Ctrl+k+x) можно
просмотреть все доступные. <br />
К сожалению, существующих сниппетов не всегда хватает. Мне вот после перехода на 2008 студию не хватает следующего сниппета<br />
<img src="/image.axd?picture=2008%2f9%2fprop1.png" alt="Snippet prop" title="Snippet prop" /><br />
Который был заменён на<br />
<img src="/image.axd?picture=2008%2f9%2fprop2.png" alt="Snippet prop" title="Snippet prop" /><br />
Физически
сниппеты находятся в папке C:\Program Files\Microsoft Visual Studio
[version]\VC#\Snippets\1033 и описываются с помощью XML. Поэтому как
один из вариантов для написания своего сниппета можно использовать
любой редактор текста. Правда, чтобы облегчить эту процедуру, можно
использовать специальные редакторы.<br />
</p>
<p>
<font size="2"><strong>
<a href="http://msdn.microsoft.com/en-us/vbasic/bb973770.aspx" title="Code Snippet Editor for Visual Basic 2008">1. Code Snippet Editor for Visual Basic 2008</a></strong></font>
</p>
<font size="2"></font>
<p>
<img src="/image.axd?picture=2008%2f9%2fsnippet1.jpg" alt="Code Snippet Editor for Visual Basic 2008" title="Code Snippet Editor for Visual Basic 2008" width="696" height="523" />
</p>
<p>
<a href="http://www.codeplex.com/SnippetDesigner" title="Snippet Designer (плагин для Visual Studio)"><strong><font size="2">2. Snippet Designer (плагин для <span>Visual Studio</span>)</font></strong></a>
</p>
<a href="http://www.codeplex.com/SnippetDesigner" title="Snippet Designer (плагин для Visual Studio)"></a>
<p>
<img src="/image.axd?picture=2008%2f9%2fsnippetEditor+1.png" alt="Snippet Designer (плагин для Visual Studio)" title="Snippet Designer (плагин для Visual Studio)" width="712" height="463" /><br />
<br />
Ну и на последок большая <a id="fuyl" href="http://msdn.microsoft.com/en-us/vstudio/aa718338.aspx" title="Коллекция сниппетов">Коллекция сниппетов</a>.&nbsp;
</p>
]]></content>
      <post-name type="text"><![CDATA[Code snippets (редакторы)]]></post-name>
      <excerpt type="text"><![CDATA[Редакторы сниппетов для Microsoft Visual Studio]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" />
      </categories>
      <tags>
        <tag ref=".net" />
        <tag ref="c#" />
        <tag ref="visual studio" />
        <tag ref="майкрософт" />
        <tag ref="разработка" />
      </tags>
    </post>
    <post id="6a046def-15c1-49c8-92d2-17e1f0baf30f" date-created="2008-09-28T11:42:00" date-modified="2009-08-16T07:58:35" approved="true" post-url="/BlogEngine.Web/post/2008/09/28/Ne-kradi-chuzhoi-kontent-ili-10-zapovedei-bloggera.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Не кради чужой контент или 10 заповедей блоггера]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2fblogger.jpg" alt="Не кради чужой контент или 10 заповедей блоггера" title="Не кради чужой контент или 10 заповедей блоггера" align="left" />
</p>
<p>
Наткнулся вот на 10 заповедей блоггера, которые представила публике Британская Евангелистская церковь: <br />
- Не ставь блог превыше себя самого;  <br />
- Не превращай блог в кумира;  <br />
- Не злоупотребляй своим ником, пользуясь анонимностью во грех;  <br />
- Помни день субботний, один день в неделю обходись без блога;  <br />
- Почитай других блогеров больше себя и не придавай их ошибкам чрезмерного значения;  <br />
- Не убий чужую честь, репутацию и чувства;  <br />
- Не прелюбодействуй в интернете;  <br />
- Не кради чужой контент;  <br />
- Не произноси ложного свидетельства на другого блогера;  <br />
- Не желай себе рейтинга другого блогера.  <br />
Придерживаясь 8 заповеди, указываю <a href="http://news.bigmir.net/entertainment/54323/" title="Британские евангелисты издали десять заповедей блоггера">источник</a>.<br />
<br />
PS: <a href="http://zarabotai.lv/ru/blog/" title="Дмитрий Ветров">Дмитрий Ветров</a> проводит акцию <a href="http://zarabotai.lv/ru/blog/pokazhi-svoyu-berlogu/" class="art">Покажи свою берлогу</a>. С некоторого времени я внимательно слежу за ходом этой акции, интересно всё-таки какие они блоггерские берлоги, вот наконец-то созрел для показа своей.
</p>
<p>
&nbsp;
<img src="/image.axd?picture=2008%2f9%2fIMG_0817.jpg" alt="Берлога Андрея Кузьменко" title="Берлога Андрея Кузьменко" width="511" height="383" align="center" />
</p>
]]></content>
      <post-name type="text"><![CDATA[Не кради чужой контент или 10 заповедей блоггера]]></post-name>
      <excerpt type="text"><![CDATA[Не кради чужой контент или 10 заповедей блоггера]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="5c1a7791-b10c-4032-99ae-37605b09eb96" />
        <category ref="bab5bf47-abd6-4b6c-b452-d9a9bc0f2a34" />
      </categories>
      <tags>
        <tag ref="блог" />
        <tag ref="о жизни" />
        <tag ref="разное" />
      </tags>
      <comments>
        <comment id="a8c32a24-ca3d-43e2-8238-e0dcafaea293" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-10-23T03:59:36" date-modified="2008-10-23T03:59:36" approved="true" user-name="y.steperova" user-email="scandal31@mail.ru" user-ip="195.69.221.234" user-url="">
          <title type="text"><![CDATA[re: Не кради чужой контент или 10 заповедей блоггера]]></title>
          <content type="text"><![CDATA[поуберал берложку, перед показом? ;)]]></content>
        </comment>
        <comment id="a9036a95-f936-42ff-9f0a-8378604eb42a" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-10-23T04:47:51" date-modified="2008-10-23T04:47:51" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="89.162.153.217" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Не кради чужой контент или 10 заповедей блоггера]]></title>
          <content type="text"><![CDATA[гы, ничего от тебя не скроешь :)]]></content>
        </comment>
        <comment id="76c692ac-41ad-4b9c-afed-8884f6480eb4" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-11-17T09:18:51" date-modified="2008-11-17T09:18:51" approved="true" user-name="Павел" user-email="petrov_p_a@bk.ru" user-ip="212.55.119.209" user-url="http://petrovpavel.ru/">
          <title type="text"><![CDATA[re: Не кради чужой контент или 10 заповедей блоггера]]></title>
          <content type="text"><![CDATA[Заповеди вещь хорошая :) Но к сожелению им не все следуют :) А Берлогу свою точно прибрал перед тем как сфоткать :) Если бы я свою вывесил, хостер мой сайт сразуже удалил бы, как не соответствующий санитарным нормам :)]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="9a76bdf2-5331-48ea-9aa0-a820e4035a67" date-created="2008-09-28T07:28:00" date-modified="2009-08-16T07:58:01" approved="true" post-url="/BlogEngine.Web/post/2008/09/28/Google-razdajot-slonov-ili-podnjatie-PR.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Google "раздаёт слонов" или поднятие PR]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2fgoogle-pr.jpg" alt="Google &quot;раздаёт слонов&quot; или поднятие PR" title="Google &quot;раздаёт слонов&quot; или поднятие PR" align="left" />Сегодня утром не поверил своим глазам, Google наконец-то определился с PR для блога. Теперь он равен 2. Радует ещё и тот факт, что вместе с главной поднялись ещё несколько страниц. 
</p>
<p>
Сложно, конечно, сказать быстро ли это или нет за месяц (без одного дня) получить PR2, не прилагая при этом особых усилий... Посмотрим, что будет дальше. 
</p>
<p>
PS: Теперь очередь за Яндексом
</p>
]]></content>
      <post-name type="text"><![CDATA[Google "раздаёт слонов" или поднятие PR]]></post-name>
      <excerpt type="text"><![CDATA[Google раздаёт слонов или поднятие PR]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="5c1a7791-b10c-4032-99ae-37605b09eb96" />
      </categories>
      <tags>
        <tag ref="google" />
        <tag ref="pr" />
        <tag ref="разное" />
        <tag ref="блог" />
        <tag ref="yandex" />
        <tag ref="тиц" />
      </tags>
    </post>
    <post id="b87b3fff-81fa-483d-b041-8440cb0b3e4f" date-created="2008-09-24T14:15:00" date-modified="2008-09-25T09:55:56" approved="true" post-url="/BlogEngine.Web/post/2008/09/24/Dev-Days-In-Zhitomir.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Региональный семинар для разработчиков 2008 (осень) Житомир]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2fme2.jpg" alt="Андрей Кузьменко" title="Андрей Кузьменко" align="left" /><font size="2">Сегодня состоялся первый региональный семинар для разработчиков в городе Житомире, где мне удалось побывать. Хотя мероприятия пребывало перед угрозой срыва из-за малого числа зарегавшихся учасников, оно всё-таки состоялось.</font>
</p>
<p>
<font size="2"> На семинаре планировалось рассмотреть следующие темы:<br />
<br />
1. Internet Explorer 8: новые возможности для разработчиков<br />
2. Разработка приложений с помощью Windows Presentation Foundation 3.5 SP1 (часть 1)<br />
3. Разработка приложений с помощью Windows Presentation Foundation 3.5 SP1 (часть 2) <br />
4. SilverLight 2: архитектура приложений, создание элементов управления<br />
5. .NET Framework 3.5 SP1: ADO.NET Entity Framework<br />
</font>
</p>
<p>
&nbsp;
<font size="2"><br />
Но, к сожалению, по каким-то причинам докладчик по ADO.NET Entity Framework не приехал и этот доклад был заменён презентацией по SilverLight. Далее обо всём вкратце.<br />
<br />
Началось это мероприятие с доклада Сергея Байдачного (фото ниже) об Internet Explorer 8. </font>
</p>
<p>
<img src="/image.axd?picture=2008%2f9%2f%d0%91%d0%b0%d0%b9%d0%b4%d0%b0%d1%87%d0%bd%d1%8b%d0%b9.jpg" alt="Сергей Байдачный" title="Сергей Байдачный" /> 
</p>
<p>
<font size="2">Выступление было разделено на две части. С начала были приведены улучшения для пользователей, во второй части - для разработчиков. Ключевые моменты в виде заметок об IE8:<br />
<br />
- полная поддержка CSS 2.1 (очень надеюсь), улучшена объектная модель документов DOM (Document Object Model);<br />
- закладки будут востанавливаться после перезапуска;<br />
- закладки возможно будет группировать выделяя цветом;<br />
- 6 соединений к хосту для закачки;<br />
- улучшена загрузка JavaScript;<br />
- при работе с XMLHttpRequest присутствует возможность разрыва соединения;<br />
- поддержка JSON;<br />
- присутствует многофункциональный Developer toolbar (ура);<br />
- возможность эмуляции работы предидущих версий (как я понял возможна эмуляция не только 7 версии).<br />
- добавлены фичи Accelerator и Web Sliences, первая позволяет производить действия с фрагментами текста (например, перевод или поиск), не покидая при этом открытой страницы, вторая позволяет просматривать часть веб-страницы, на которую пользователь может подписаться непосредственно из браузера. Более подробно <a href="http://blogs.msdn.com/rusterm/archive/2008/09/03/web-slice.aspx">здесь</a>.<br />
<br />
Вообщем, я не знаю изменится ли моё отношение к браузеру IE8 после этого семинара, уж очень сильно мне нравится FireFox с его адонами. Скорей всего IE8 поставить придется, хотя бы для того, чтобы попробовать новые фичи, так как на призентации, из-за отсутствия интернета, новинки были показаны на пальцах. Но в целом </font><font size="2">IE8 уже радует. Посмотрим, может приживётся.</font>
</p>
<p>
Отдельно хочется выделить чувство юмора Сергея. Видно, что у человека большой опыт проведения подобных мероприятий. Примеры улучшений IE8 ему лаконично удавалось связывать со свой бывшей женой. 
</p>
<p>
<font size="2">
<strong><em><br />
Вторую и третью</em></strong> часть семинара вёл Александр (фото), фамилия которого осталась для меня загадкой. Но этому человеку отдельный большой респект за то, что он провёл свой доклад на родном украинском языке. </font>
</p>
<p>
<img src="/image.axd?picture=2008%2f9%2falex.jpg" alt="Александр" title="Александр" /> 
</p>
<p>
<font size="2">Эта часть была наиболее интересной, насыченой хорошими примерами (особенно понравились 3D). Хотя доклад был сильно ориентирован на новичков, а в WPF-е, XAML-е я таким не являюсь, всё-равно было что послушать.<br />
<br />
<strong><em>Четвёртую и пятую</em></strong> часть семинара снова вёл Сергей Байдачный и ввиду того, что с ADO.NET Entity Framework&#39;ом получился облом, нашему вниманию сначала была представлена старая презентация по SilverLight&#39;ту, которую мне уже довелось слушать в Киеве на днях разработчиков в марте. Сообственно, практически ничего нового не услышал как ни в первой, так и не во второй части по SilverLight&#39;ту, но, как мне кажется, новичкам было интересно.<br />
</font>
<br />
<em><font size="2">PS: в целом семинар оставил позитивные впечатления, надеюсь что в Житомире он не будет последним.</font></em>
</p>
<p>
<font size="2">P</font><font size="2">P</font><font size="2">S: <strong>наконец-то я получил свой долгожданный приз (внешний винчестер на 250 гиг)</strong>. Данный приз я выиграл, заняв 7 место в конкурсе, который проводила компания Microsoft Ukraine в этом году (конец весны - начало лета). Сообственно, сам приз (под аплодисменты присутствующих) мне вручил Сергей Байдачный.</font>
</p>
<p>
<font size="4"><strong>Фото по теме:</strong></font> 
</p>
<p>
&nbsp;(Мероприятия Майскрософта всегда сопровождаются хорошими фуршетами)
</p>
<p>
<img src="/image.axd?picture=2008%2f9%2ffyrshet.jpg" alt="Фуршет" title="Фуршет" />
</p>
<p>
&nbsp;(Это я с призом)
</p>
<p>
<img src="/image.axd?picture=2008%2f9%2fme.jpg" alt="Андрей Кузьменко и приз" title="Андрей Кузьменко и приз" /> 
</p>
<p>
&nbsp;(вот как он выглядит)
</p>
<p>
<img src="/image.axd?picture=2008%2f9%2fp1.jpg" alt="Приз StoreJet 25 250 gb" title="Приз StoreJet 25 250 gb" />
</p>
<p>
&nbsp;(по размерам винт невелик, легко влезает в карман)
</p>
<p>
<img src="/image.axd?picture=2008%2f9%2fp2.jpg" alt="Приз StoreJet 25 250 gb в чехле" title="Приз StoreJet 25 250 gb в чехле" />
</p>
]]></content>
      <post-name type="text"><![CDATA[Региональный семинар для разработчиков 2008 (осень) Житомир]]></post-name>
      <excerpt type="text"><![CDATA[Дни разработчика в Житомире (осень 2008)]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" />
      </categories>
      <tags>
        <tag ref="дни разработчика" />
      </tags>
      <comments>
        <comment id="7efe007e-60d4-4838-a21d-5835796bc2bb" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-09-25T02:47:21" date-modified="2008-09-25T02:47:21" approved="true" user-name="JTOne" user-email="jthotbox@gmail.com" user-ip="85.223.178.70" user-url="http://moyvkus.ru/">
          <title type="text"><![CDATA[re: Региональный семинар для разработчиков 2008 (осень) Житомир]]></title>
          <content type="text"><![CDATA[А я слышал, винт ты у него силой забрал))))))))))))]]></content>
        </comment>
        <comment id="96dca7b9-39c6-4c5c-bc85-0ca9e28064db" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-09-25T09:55:56" date-modified="2008-09-25T09:55:56" approved="true" user-name="Andrey" user-email="a.kuzmenko2007@gmail.com" user-ip="93.180.241.146" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Региональный семинар для разработчиков 2008 (осень) Житомир]]></title>
          <content type="text"><![CDATA[Он мне предлагал поменять винт на две футболки с IE8, но я культурно отказался :)]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="c1bf4989-45a2-4ae8-bbe9-7ec93b602693" date-created="2008-09-23T03:20:00" date-modified="2009-08-16T07:41:25" approved="true" post-url="/BlogEngine.Web/post/2008/09/23/Rabota-Kak-eto-bylo.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Работа. Как это было.]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2foffice.png" alt="Хочу рабоота в таком офисе" title="Хочу рабоота в таком офисе" align="left" />На днях исполнилось три года с того дня, как я устроился на свою первую
(официльную) работу. Как сейчас помню, это был третий курс универа,
времена молодости и наивности. Фактически моё первое трудоустройство
стало для меня билетом в взрослую жизнь. Я неоднократно задумывался: не
рано ли я вступаю на тяжёлую тропу? Ведь как говорится в народе, что
наработаться всегда успеешь. Но, к сожалению, или, к счастью, я не
люблю ждать. И если есть возможность в чём-то себя попробовать, я не
буду откладывать это на потом. Решил - сделал, без оглядки назад.<br />
Конечно,
в то время жизнь назвать сказкой было сложно. Слижком многое свалилось
на плечи: работа, учёба (при том что учился не как попало, в итоге
закончил с красным дипломом), + дорога забирала в одну сторону 1,5-2
часа и, конечно, же любимая девушка, которой также нужно было уделять
время. Такой вот &quot;джентльменский&quot; набор. Было сложно, но я не из тех,
кто уклоняется от трудностей. <br />
Я хочу в жизни добиться всего сам, я
уже давно понял, что только так начинаешь ценить плоды своей работы.
Когда ты знаешь чего стоит заработанная &quot;копейка&quot;, ты будешь тратить её
с умом.<br />
Так призадумался, вроде и немного времени прошло, всего лишь
три года. Но за это время я окончательно повзрослел, сменил взгляды на
жизнь, расставил приоритеты. Работа, обязанности, ответственность
меняют человека, надеюсь в хорошую сторону.
</p>
<p>
&nbsp;
</p>
]]></content>
      <post-name type="text"><![CDATA[Работа. Как это было.]]></post-name>
      <excerpt type="text"><![CDATA[Работа. Как это было.]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="bab5bf47-abd6-4b6c-b452-d9a9bc0f2a34" />
        <category ref="aad9f70e-dcd1-48f3-a316-cbafcce1301d" />
      </categories>
      <tags>
        <tag ref="о жизни" />
      </tags>
    </post>
    <post id="cf99d382-fa2b-4d3b-85d1-31517c6ea1a7" date-created="2008-09-18T15:49:00" date-modified="2008-09-19T03:00:26" approved="true" post-url="/BlogEngine.Web/post/2008/09/18/Dlja-chego-d086T-shnikam-doska.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Для чего ІТ-шникам доска?]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2fDSC000171.jpg" alt="" align="left" />
</p>
<p>
Я плакал.... Сегодня на очередном митинге нашей компании, где собралось порядка 80 чел. на доске под листами бумаги был обнаружен данный интелектуальный рисунок. Как оказалось позже, в создании данного шедевра принимали участвие не только рядовые рядовые работники, но и представители менеджмента. Весёлый народ эти ІТ-шники :)! Интересно, это только у нас доски используются не по назначению?
</p>
]]></content>
      <post-name type="text"><![CDATA[Для чего ІТ-шникам доска?]]></post-name>
      <excerpt type="text"><![CDATA[Для чего ІТ-шникам доска? Сегодня на очередном митинге нашей компании, где собралось порядка 80 чел. на доске под листами бумаги был обнаружен данный интелектуальный рисунок.]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="aad9f70e-dcd1-48f3-a316-cbafcce1301d" />
        <category ref="845b9178-1908-4720-acb4-4245a7b69cd6" />
      </categories>
      <tags>
        <tag ref="о жизни" />
      </tags>
    </post>
    <post id="9a6b032d-9511-47c2-8d02-2609fe3b56a1" date-created="2008-09-16T17:34:00" date-modified="2009-08-16T07:22:52" approved="true" post-url="/BlogEngine.Web/post/2008/09/16/Nuzhna-RSS-ikonka-Uznai-ob-akcii.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Нужна RSS-иконка? Узнай об акции]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2fpreview04.png" alt="" align="left" />Некоторое время назад мне пришлось столкнуться с проблемой выбора Rss-иконки для блога. Перепробовал масу вариантов, но не один из них меня так и не удовлетворил. Вчера в очередной раз &quot;бороздя&quot; просторы необьятной блогосферы, наткнулся на довольно интересную акцию &quot;<a href="http://www.kachayev.ru/rss-kreativ/">Полный Rss-креатив</a>&quot; на блоге <a href="http://www.kachayev.ru/">Алексея Качаева</a>. Суть даного мероприятия заключается в следующем: вы пишите пост о проводимой акции, а взамен получаете RSS-иконку - раз, подпись к ней (оригинальную) - это два. К сожалению, моему блогу ещё далеко до 101 подписчика, а так Алексей сотворил  бы поэтому поводу уникальную иконку. 
</p>
<p>
PS: надеюсь это не последняя акция на этом блоге, а к моменту проведения следующей постараюсь вырасти.
</p>
]]></content>
      <post-name type="text"><![CDATA[Нужна RSS-иконка? Узнай об акции]]></post-name>
      <excerpt type="text"><![CDATA[На блоге Алексея Качаева проводится акция "Полный Rss-креатив"]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="5c1a7791-b10c-4032-99ae-37605b09eb96" />
        <category ref="17914afd-98b7-4829-b118-4c99ca86be19" />
      </categories>
      <tags>
        <tag ref="блог" />
        <tag ref="rss" />
        <tag ref="интерфейс" />
      </tags>
    </post>
    <post id="2db237a1-5a5f-49cd-9ee4-61192bf1347a" date-created="2008-09-16T16:06:00" date-modified="2008-09-16T17:00:43" approved="true" post-url="/BlogEngine.Web/post/2008/09/16/Razrabotka-veb-prilozhenii-vzgljad-s-drugoi-storony.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Разработка веб-приложений: взгляд с другой стороны]]></title>
      <content type="text"><![CDATA[<img src="/image.axd?picture=2008%2f9%2fsoftware-development-main.jpg" alt="" align="left" />Должен признать, что разработка веб-приложений очень интересное
занятие. Особое удовольствие доставляет, когда результатами твоей
работы довольны заказчики, а так же конечные пользователи. Это один из
самых больших стимулов, когда ты знаешь, что результаты твоей работы
оценены. Долгое время работая онлайн (в офисе), паралельно заканчивая
университет, я не мог заняться чем-то другим, написать, так сказать,
что-то для себя, а то всё за бугор, за бугор. И вот когда появилось то
долгожданное свободное время, я наполнился оптимизмом и... обломался.
Насколько бы не был хорошим продукт, который ты разрабатываешь, если о
нём не узнают люди, толку с него будет мало. А что же нужно для того
чтобы о проекте узнали? Как его раскрутить? Именно этим вопросам я
решил уделить своё ближайшее свободное время.<br />
Вообще я придерживаюсь мнения, что <strong><em>каждый должен делать свою работу</em></strong>. В
наше время существует столько профессий (в том же IT-направлении), что
&quot;быть мастером на все руки&quot; просто <strike>нереально </strike>сложно. Но как узнать, что
человек, выполнивший работу в направлении, где ты не розбираешься,
сделал её качественно? Поверить на слово? Хорошо если это человек со
стажем, тогда скорей всего он выполнит работу на совесть. Но как быть,
когда работу выполняет новичёк (зелёный)? Где гарантии того, что
проделанная им работа - это именно то, что ты хотел получить? <br />
Вообщем,
для себя я решил, что заказывая какую-то работу и даже что-то покупая,
для начала я стараюсь в этом разобраться, получить общее представление.
Хотя часто и проходится делать спонтанные решения, в основном лучше
придерживаться такой стратегии, тем самым уменьшая риски быть надутым
(кинутым). Точно также я решил поступить в плане раскрутки. Поковыряюсь немного в этом направлении,&nbsp; авось понравится.<br />
<br />
PS: Изначально хотел завести словарь, чтобы собрать в кучу
непонятные мне термины, а их уж поверьте немало, но со временем обнаружил, что я не первый кому
пришла эта идея в голову. Спасибо Майнасу за <a id="mel_" href="http://tyomma.ru/words/" title="труд">труд</a>. <br />
<br />
<br />
<br />
]]></content>
      <post-name type="text"><![CDATA[Разработка веб-приложений: взгляд с другой стороны]]></post-name>
      <excerpt type="text"><![CDATA[Разработка веб-приложений: взгляд с другой стороны. Раскрутка сайта]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="5c1a7791-b10c-4032-99ae-37605b09eb96" />
        <category ref="c546e127-e412-4620-89ea-3e5833469830" />
      </categories>
      <tags>
        <tag ref="о жизни" />
        <tag ref="разработка" />
        <tag ref="веб-приложения" />
        <tag ref="раскрутка" />
      </tags>
    </post>
    <post id="1d1e3137-3b88-4aa5-bdad-d9a470b6a73e" date-created="2008-09-14T14:33:00" date-modified="2009-08-16T07:17:06" approved="true" post-url="/BlogEngine.Web/post/2008/09/14/Shifrovanie-konfiguracionnyx-failov-(webconfig-appconfig).aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Шифрование конфигурационных файлов (web.config, app.config)]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2f410.jpg" alt="" align="left" />Тем, кто хоть иногда сталкивался с технологией .NET, наверняка приходилось настраивать конфигурационные файлы приложений, будь-то настольные приложения или же веб-приложения. Если ваше приложение работает с базой данных, то скорей всего вы добавляли в конфигурационные файлы строки следующего формата:
<a href="//"></a><br />
<br />
<br />
<br />
<br />
<br />
[code=xml]&lt;connectionStrings&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;add name=&quot;Name&quot; connectionString=&quot;Data Source=server;User ID=user;Password=pwd;persist security info=False;initial catalog=BlogEngine;&quot; providerName=&quot;System.Data.SqlClient&quot; /&gt;<br />
&lt;/connectionStrings&gt; 
[/code] 
В приведённом выше примере имя пользователя и пароль хранятся в открытом виде, что не всегда приемлемо. К счастью, .NET Framework предоставляет средства для скрытия такой информации. Используя утилиту коммандной строки <strong>aspnet_regiis.exe</strong> (ASP.NET), эту информацию можно зашифровать.
Более подробно читаем в <a href="http://msdn.microsoft.com/en-us/library/k6h9cz8h(VS.80).aspx" title="aspnet_regiis">MSDN</a>.
</p>
<p>
К сожалению, если у вас есть веб-приложение, выложенное на каком-то хостинге, запустить утилиту aspnet_regiis.exe вам никто не даст. По этому необходимо искать альтернативные решения. Как вариант, написать код, добавив страницу конфигурации (смотрим прикреплённый файл). Страница конфигурации имеет следующий вид: 
</p>
<p>
<a href="/file.axd?file=2008%2f9%2fConfigEncryption.rar"><img src="/image.axd?picture=2008%2f9%2fInterface.png" alt="Шифрование конфигурационных файлов (web.config, app.config)" title="Шифрование конфигурационных файлов (web.config, app.config)" align="center" /></a>
</p>
<p>
Указываем секцию для шифрования, жмём ОК и получаем:
</p>
<p>
[code=xml]&lt;appSettings configProtectionProvider=&quot;DataProtectionConfigurationProvider&quot;&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;EncryptedData&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;CipherData&gt;<br />
&nbsp;&lt;CipherValue&gt;AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAsaxvgs6ZWEuISiiBH1xhUgQAAAACAAAAAAADZgAAqAAAABAAAAAp89FcCcjWHQq6vX0s5gg3AAAAAASAAACgAAAAEAAAABdMVsofZYXXxYrZp7YWdy2IAAAACFZiI8SzneG3HnSUtTyo49jGrOOdZxFx9JXe4AJy+mR9LMMOIGTZl9KM3TLXY4GBNQwt3GR2rdoHblcV1Qa1SDWWI5UTtWyRmGuSovIepjboz6WBEF0AKT65W+xgyCg51txL7d76j/PekeS7Hj7sTEskRE48N1xMFLp4F7F10JQIhvaj5hUVhxQAAADwgJ+zt9fzgoU8tKsqwF0odKPrCA==&lt;/CipherValue&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/CipherData&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/EncryptedData&gt;<br />
&nbsp; &lt;/appSettings&gt;[/code] 
</p>
<p>
Да и еще, шифровать конфигурационный файл веб-приложения нужно непросредственно на хостинге, так как для этой процедуры используется, как я понимаю, специфический ключ компьютера, определённый в разделе &lt;machineKey&gt; файла machine.config. Поэтому попытки зашифровать у себя на машине с последующим выкладыванием на хостинг ни к чему не приведут. В том случае, если у вас есть доступ к серверу или вы хотите зашифровать конфигурационный файл у себя на машине, не используя дополнительную страницу, можно применить следующую утилиту (исходники прилагаются): 
</p>
<p>
&nbsp;
<img src="/image.axd?picture=2008%2f9%2fInterface1.png" alt="" align="center" />
</p>
<p>
Указываем конфигурационный файл, имя секции, жмём Go и наслаждаемся результатом. Утилита позволяет шифровать конфигурационные файлы как настольных приложений, так и веб-приложений. 
</p>
<p>
<a href="/file.axd?file=2008%2f9%2fConfigurationTest.rar" title="Скачать">WebApplication(20,08 kb)</a>
</p>
<p>
<a href="/file.axd?file=2008%2f9%2fConfigEncryption.rar" title="Скачать">WindowsApplication (48,59 kb)</a>
</p>
<p>
&nbsp;Удачного вам шифрования! :)
</p>
<p>
Читаем также:
</p>
<p>
<a href="/post/2008/09/12/Keshirovanie-dannyx-s-pomoxhju-direktivy-OutputCache.aspx ">Кеширование данных с помощью директивы OutputCache </a>
</p>
<p>
<a href="/post/2008/09/04/Whats-the-difference-between-ResponseRedirect-and-ServerTransfer.aspx">Как разница между методом Response.Redirect и Server.Transfer?</a>
</p>
<p>
<a href="/post/2008/09/04/Whats-the-difference-between-the-Finalize-method-and-destructor.aspx">Как разница между методом Finalize и деструктором?</a>
</p>
]]></content>
      <post-name type="text"><![CDATA[Шифрование конфигурационных файлов (web.config, app.config)]]></post-name>
      <excerpt type="text"><![CDATA[Шифрование конфигурационных файлов (web.config, app.config). Исходники]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="17914afd-98b7-4829-b118-4c99ca86be19" />
      </categories>
      <tags>
        <tag ref=".net framework" />
        <tag ref=".net" />
        <tag ref="c#" />
        <tag ref="asp.net" />
        <tag ref="исходники" />
      </tags>
    </post>
    <post id="b1df86ed-2106-4e36-8c23-59d9f446813e" date-created="2008-09-12T08:17:00" date-modified="2009-08-16T07:07:47" approved="true" post-url="/BlogEngine.Web/post/2008/09/12/Keshirovanie-dannyx-s-pomoxhju-direktivy-OutputCache.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Кеширование данных с помощью директивы OutputCache]]></title>
      <content type="text"><![CDATA[<p>
<strong>Декларативное кеширование</strong> - это один из возможных вариантов кеширования
данных в ASP.NET, построенный на использовании директивы OutputCache.<br />
Данная
директива может применяться для кеширования страниц и пользовательских
элементов управления (User Control). Пример использования:<br />
[code=ASPX]&lt;%@ Page Language=&quot;C#&quot; AutoEventWireup=&quot;true&quot; CodeBehind=&quot;Default.aspx.cs&quot; Inherits=&quot;CacheTest._Default&quot; %&gt;<br />
&lt;%@ OutputCache Duration=&quot;10&quot; VaryByParam=&quot;None&quot; %&gt;<br />
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br />
&lt;head runat=&quot;server&quot;&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;Test Page&lt;/title&gt;
</p>
<p>
&lt;/head&gt;<br />
&lt;body&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;form id=&quot;form1&quot; runat=&quot;server&quot;&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;%=DateTime.Now.ToString(&quot;G&quot;)%&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
[/code]<br />
Общий синтаксис OutputCache:<br />
</p>
<pre class="libCScode">
[code=xml]&lt;%@ OutputCache Duration=&quot;#ofseconds&quot;
Location=&quot;Any | Client | Downstream | Server | None | 
ServerAndClient &quot;
Shared=&quot;True | False&quot;
VaryByControl=&quot;controlname&quot;
VaryByCustom=&quot;browser | customstring&quot;
VaryByHeader=&quot;headers&quot;
VaryByParam=&quot;parametername&quot; 
VaryByContentEncoding=&quot;encodings&quot;
CacheProfile=&quot;cache profile name | &#39;&#39;&quot;
NoStore=&quot;true | false&quot;
SqlDependency=&quot;database/table name pair | CommandNotification&quot;
%&gt;[/code]
</pre>
<p>
Далее подробно будут рассмотрены атрибуты OutputCachе и их влияние на процесс кеширования.&nbsp;&nbsp;
</p>
<h3 style="color: black"><strong>Атрибут Duration</strong></h3>
Данный атрибут указывает на какое время (в секундах) страница будет помещена в кеш. <br />
<br />
<span style="color: #ff0000">Примечание</span><br />
<em>Данный атрибут является <strong>обязательным</strong>.</em><br />
<br />
<h3 style="color: black"><strong>Атрибут VaryByParam</strong></h3><strong>
</strong>ASP.NET может сохранять в кеше несколько копий одной странице в
зависимости от параметров формы, строки запроса, HTTP-заголовков или
определяемых параметров.<br />
Атрибут VaryByParam управляет кешированием на основе параметров формы и строки запроса. Сдесь возможны неколько вариантов:<br />
1. Если установить VaryByParam=&quot;None&quot;, то изменения параметров формы и строки запроса не будут учитываться при кешировании.<br />
2.
Если установить VaryByParam=&quot;*&quot;, то для разных параметров формы и
строки запроса в кеше будут сохраняться новые копии страниц.<br />
3. Возможно также указывать через запятую параметры строки запроса и формы<br />
<br />
<h3 style="color: black"><strong>Атрибут Location</strong></h3>
Этот атрибут указывает место хранение кешированной страницы. Возможны следующие варианты:<br />
<ul>
	<li><strong><em>Any </em></strong>- кеш страницы может храниться везде, а именно: на клиенте, на сервере или на промежуточных прокси-серверах. <br />
	</li>
	<li><em><strong>Client </strong></em>- кеш страницы хранится на клиентской стороне. <br />
	</li>
	<li><strong><em>Server </em></strong>- кешированная информация хранится на сервере, что обрабатывает запрос.<br />
	</li>
	<li><strong><em>DownStream </em></strong>- страница будет кешироваться на отправляещем сервере.<br />
	</li>
	<li><strong><em>ServerAndClient </em></strong>- кеш страницы может буть сохранён как на сервере, так и на клиенте, но не на прокси-верверах.<br />
	</li>
	<li><em><strong>None </strong></em>- кеширование не будет использоваться.</li>
</ul>
<span style="color: #ff0000">Примечание</span><br />
<em>Применяется только к страницам.</em><br />
<br />
<h3 style="color: black"><strong>Атрибут Shared</strong></h3>
Данный
атрибут принимает булевое значение и может использоваться только для
пользовательских элементов управления. Может быть полезен когда
существуют несколько страниц, которые используют один UserControl. В
случае применения Shared=&quot;true&quot; для UserControl&#39;a все страницы будут
использовать один и тот же кеш. <br />
<br />
<span style="color: #ff0000">Примечание</span><br />
<em>Применяется только к пользовательским элементам управления.  По умолчанию установлен в false. </em><br />
<br />
<h3 style="color: black"><strong>Атрибут CacheProfile</strong></h3>
Позволяет
указать профиль кеширования для страницы в web.config. Очень удобен в
том случае, если существуют много страниц с одинаковыми настройками
кеширования. Тогда если вдруг возникнет необходимость что-то поменять
(например: увеличить время кеширования), вынеся предварительно профиль
кешерования в web.config и присвоив его страницам, возможно быстро
изменить настройки.<br />
Пример web.config:[code=xml]&lt;caching&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;outputCacheSettings&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;outputCacheProfiles&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;add name=&quot;testCacheProfile&quot; duration=&quot;10&quot; varyByParam=&quot;None&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/outputCacheProfiles&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/outputCacheSettings&gt;<br />
&lt;/caching&gt;[/code]Страница:[code=xml]&lt;%@ OutputCache CacheProfile=&quot;testCacheProfile&quot; %&gt;[/code]<span style="color: #ff0000">Примечание</span><br />
<em>Применяется только к страницам.</em><br />
<br />
<h3 style="color: black"><strong>Атрибут SqlDependency</strong></h3>
Может
содержать строку типа &quot;[база даных]:[таблица],[база
даных]:[таблица]...&quot;. При изменении данных в указанных таблицах
страница или пользовательский элемент управления удаляются их кеша.
Возможно также в атрибут SqlDependency<strong> </strong>установить значение CommandNotification<span><span class="Article_FullDescription" style="margin: 0px"></span></span>, тогда через SqlDependency необходимо зарегистрировать уведомление об изменении данных.<br />
<br />
<span style="color: #ff0000">Примечание</span><br />
<em><span><span class="keyword">CommandNotification </span></span>применяется
только к страницам. Пользовательские элементы управления могут
использовать кеширование на основе таблиц базы данных.</em><br />
<br />
<h3 style="color: black"><strong>Атрибут VaryByControl</strong></h3>
Указывает через &quot;;&quot; ID элементов управления, которые подлежат кешированию на сервере. <br />
<br />
<span style="color: #ff0000">Примечание</span><br />
<em>Этот
атрибут является обязательным, если не указывать VaryByParam. Возможно
использовать как для страниц, так и для пользовательских элементов
управления.</em><br />
<br />
<h3 style="color: black"><strong>Атрибут VaryByCustom</strong></h3>
Позволяет
управлять кешированием страницы на основе параметров определённых
разработчиком. Всё, что нужно сделать, - переопределить метод
HttpApplication.GetVaryByCustomString в global.asax. <br />
Пример функции:<br />
[code=c#]public override string GetVaryByCustomString ( HttpContext context, string arg )<br />
&nbsp;&nbsp; switch ( arg )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &quot;Frames&quot;:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return &quot;Frames = &quot; + context.Request.Browser.Frames;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &quot;JavaScript&quot;:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return &quot;JavaScript = &quot; + context.Request.Browser.JavaScript;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return &quot;&quot;;<br />
&nbsp;&nbsp; }<br />
}[/code]Пример страницы:<br />
[code=xml]&lt;%@ OutputCache VaryByCustom=&quot;Frames&quot; Duration=&quot;5&quot; VaryByParam=&quot;None&quot; %&gt;[/code]Если
атрибут VaryByCustom=&quot;Browser&quot;, то базовая версия метода
GetVaryByCustomString выполняет кеширование на основе имени браузера и
версии (major version).<br />
<br />
<h3 style="color: black"><strong>Атрибут VaryByHeader</strong></h3><strong>
</strong>Управляет кешированием на основе HTTP-заголовков. Может принимать одно или несколько, разделённых через запятую, значений:<br />
<ul>
	<li>Accept</li>
	<li>Accept-Charset</li>
	<li>Accept-Encoding</li>
	<li>Accept-Language</li>
	<li>Authorization</li>
	<li>Content-Encoding</li>
	<li>Expect</li>
	<li>From</li>
	<li>Host</li>
	<li>If-Match</li>
	<li>If-Modified-Since</li>
	<li>If-None-Match</li>
	<li>If-Range</li>
	<li>If-Unmodified-Since</li>
	<li>Max-Forwards</li>
	<li>Proxy-Authorization</li>
	<li>Range</li>
	<li>Referer</li>
	<li>TE</li>
	<li>User-Agent</li>
</ul>
Пример:<br />
[code=xml]&lt;%@ OutputCache Duration=&rdquo;100&rdquo; VaryByHeader=&rdquo;Referer;Content-Encoding&rdquo; %&gt;
[/code]Новое представление страницы будет заносится в кеш при каждой уникальной паре значений заголовков Referer и Content-Encoding. <br />
<br />
<span style="color: #ff0000">Примечание</span><br />
<em>Данный атрибут можно использовать только для страниц.</em><br />
<br />
<h3 style="color: black"><strong>Атрибут VaryByContentEncoding </strong></h3>
<p>
Указывает условие кеширования на основе HTTP-заголовка Accept-Encoding. Пример использования&nbsp;<strong><a id="xblp" href="http://msdn.microsoft.com/en-us/library/system.web.httpcachevarybycontentencodings.aspx" title="Атрибут VaryByContentEncoding">атрибута VaryByContentEncoding</a> </strong>читаем в MSDN.<br />
<br />
<br />
<font size="3"><strong>На заметку!</strong></font><br />
Возможно, это очевидно, для пользовательского элемента управления и страницы, что
использует элемент управления, можно установить разные периоды
кеширования. Что же произойдёт в данном случае? Расмотрим следующие
варианты:<br />
1. Страница кешируется на 100 секунд, а пользовательский
элемент управления - 50 сек. В таком случае страница с пользовательским
элементом управления будет кешироваться на 100 секунд.<br />
2. Страница
кешируется на 50 секунд, а пользовательский элемент управления - 100
сек. При таких раскладах кеш пользовательского элемента управления
будет удаляться один раз, в то время как кеш страницы будет удаляться
два раза на протяжении 100 сек.
</p>
<p>
Читаем также:
</p>
<p>
<a href="/post/2008/09/04/Whats-the-difference-between-ResponseRedirect-and-ServerTransfer.aspx">Как разница между методом Response.Redirect и Server.Transfer?</a>
</p>
<p>
<a href="/post/2008/09/04/Whats-the-difference-between-the-Finalize-method-and-destructor.aspx">Как разница между методом Finalize и деструктором?</a>
</p>
<p>
&nbsp;
</p>
]]></content>
      <post-name type="text"><![CDATA[Кеширование данных с помощью директивы OutputCache]]></post-name>
      <excerpt type="text"><![CDATA[Кеширование данных с использованием директивы OutputCache в ASP.NET.]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" />
      </categories>
      <tags>
        <tag ref=".net" />
        <tag ref=".net framework" />
        <tag ref="c#" />
        <tag ref="visual studio" />
        <tag ref="майкрософт" />
        <tag ref="кеширование" />
      </tags>
    </post>
    <post id="a7193b30-acc6-46de-86c8-d2367e549694" date-created="2008-09-08T06:38:00" date-modified="2009-08-16T06:46:16" approved="true" post-url="/BlogEngine.Web/post/2008/09/08/Visual-Studio-ShortCuts.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Visual Studio ShortCuts]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2fVisualStudioLogoWhiteBackground.png" alt="Visual Studio ShortCuts" title="Visual Studio ShortCuts" width="100" height="60" align="left" /> Перебирал сегодня документы на рабочем столе, наткнулся вот на <a href="/file.axd?file=2008%2f9%2fVisual+Studio+ShortCuts.doc">такой</a>.&nbsp;Когда-то собирал в кучу &quot;горячие&quot; комбинации клавиш в Visual Studio 2008 с их описанием. К сожалению, руки так и не дошли до перевода на русский, вылаживаю как есть. 
</p>
<p>
&nbsp;
</p>
<table border="0" cellspacing="0" cellpadding="0" width="652" style="border: 0pt solid #000000; margin-left: 5px; height: 1281px" id="v6wu3">
	<tbody id="v6wu4">
		<tr id="v6wu5" style="height: 25px">
			<td id="v6wu6" style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 228px; height: 30px">
			<p id="v6wu7" style="text-align: center" class="MsoNormal" align="center">
			<font size="4"><strong>ShortCut</strong></font> 
			</p>
			</td>
			<td id="v6wu11" valign="middle" style="border-style: solid solid solid none; border-color: -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 480px; height: 30px">
			<p id="v6wu12" style="margin-left: 9pt; text-align: center" class="MsoNormal" align="center">
			<font size="4"><strong>Description</strong></font> 
			</p>
			</td>
		</tr>
		<tr id="v6wu16" style="height: 8.5pt">
			<td id="v6wu17" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 8.5pt">
			<p id="v6wu18" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>CTRL + &ldquo;.&rdquo;, </strong><strong>CTRL + SHIFT</strong> 
			</p>
			</td>
			<td id="v6wu25" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 8.5pt">
			<p id="v6wu26" class="MsoNormal">
			This is actually a shortcut for a shortcut. It opens the smart tag window and allows you to add Using statements 
			</p>
			</td>
		</tr>
		<tr id="v6wu31" style="height: 33.95pt">
			<td id="v6wu32" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 33.95pt">
			<p id="v6wu33" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>ALT + CTRL + &ldquo;e&rdquo;</strong> 
			</p>
			</td>
			<td id="v6wu37" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 33.95pt">
			<p id="v6wu38" class="MsoNormal">
			This one will open the Exceptions window, which allows you to tell Visual Studio to halt at specific exceptions, halt on all exceptions or selecet some exceptions to ignore. 
			</p>
			</td>
		</tr>
		<tr id="v6wu41" style="height: 35.3pt">
			<td id="v6wu42" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 35.3pt">
			<p id="v6wu43" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>CTRL + &ldquo;k&rdquo; + &ldquo;f&rdquo; and CRTL + &ldquo;k&rdquo; + &ldquo;d&rdquo;</strong> 
			</p>
			</td>
			<td id="v6wu47" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 35.3pt">
			<p id="v6wu48" class="MsoNormal">
			these two will format the code in the window to be nicely indented. using &ldquo;d&rdquo; will format all the document while using &ldquo;f&rdquo; will format only selected text. The formatting is for all types of documents, HTML, Xaml, XML, C#&hellip; This one is my favorite. 
			</p>
			</td>
		</tr>
		<tr id="v6wu52" style="height: 44.8pt">
			<td id="v6wu53" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 44.8pt">
			<p id="v6wu54" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>SHIFT + Del</strong> 
			</p>
			</td>
			<td id="v6wu59" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 44.8pt">
			<p id="v6wu60" class="MsoNormal">
			This one will cut the entire row from the document and past it to the clipboard. No need to select the row, just put the marker there and click SHIFT + Del and it is gone. 
			</p>
			</td>
		</tr>
		<tr id="v6wu65" style="height: 3.5pt">
			<td id="v6wu66" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 3.5pt">
			<p id="v6wu67" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>CTRL + &ldquo;k&rdquo; + &ldquo;c&rdquo; and CTRL + &ldquo;k&rdquo; + &ldquo;u&rdquo;</strong> 
			</p>
			</td>
			<td id="v6wu71" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 3.5pt">
			<p id="v6wu72" class="MsoNormal">
			These two are for commenting selected text (the &ldquo;c&rdquo; options) and uncommenting selected text (the &ldquo;u&rdquo; option). 
			</p>
			</td>
		</tr>
		<tr id="v6wu75" style="height: 3.5pt">
			<td id="v6wu76" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 3.5pt">
			<p id="v6wu77" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>ALT + ENTER</strong> 
			</p>
			</td>
			<td id="v6wu82" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 3.5pt">
			<p id="v6wu83" class="MsoNormal">
			this little shortcut will open up the Properties window 
			</p>
			</td>
		</tr>
		<tr id="v6wu86" style="height: 17.65pt">
			<td id="v6wu87" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 17.65pt">
			<p id="v6wu88" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>CTRL + &ldquo;k&rdquo; + &ldquo;s&rdquo;</strong> 
			</p>
			</td>
			<td id="v6wu93" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 17.65pt">
			<p id="v6wu94" class="MsoNormal">
			This one opens up the code snippets dialogue within the code 
			</p>
			</td>
		</tr>
		<tr id="v6wu97" style="height: 35.3pt">
			<td id="v6wu98" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 35.3pt">
			<p id="v6wu99" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>F12</strong> 
			</p>
			</td>
			<td id="v6wu104" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 35.3pt">
			<p id="v6wu105" class="MsoNormal">
			I think you all know this but still F12 is the shortcut for the &ldquo;Go to definition&rdquo; command which will take you to the definition of the object your marker is currently on. 
			</p>
			</td>
		</tr>
		<tr id="v6wu108" style="height: 45pt">
			<td id="v6wu109" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 45pt">
			<p id="v6wu110" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>F9</strong> 
			</p>
			</td>
			<td id="v6wu115" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 45pt">
			<p id="v6wu116" class="MsoNormal">
			Another one i think you all know, clicking on F9 will add a breakpoint to the code line your marker is currently at. Clicking F9 again will remove this breakpoint from that line. 
			</p>
			</td>
		</tr>
		<tr id="v6wu119" style="height: 3.5pt">
			<td id="v6wu120" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 3.5pt">
			<p id="v6wu121" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>CTRL + ALT + &ldquo;q&rdquo;</strong> 
			</p>
			</td>
			<td id="v6wu126" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 3.5pt">
			<p id="v6wu127" class="MsoNormal">
			This one will open the Quick watch window while you debug 
			</p>
			</td>
		</tr>
		<tr id="v6wu130" style="height: 45pt">
			<td id="v6wu131" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 45pt">
			<p id="v6wu132" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>Ctrl-k Ctrl-k</strong> 
			</p>
			</td>
			<td id="v6wu137" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 45pt">
			<p id="v6wu138" class="MsoNormal">
			Adds or removes a bookmark to the current line. I use this one frequently when adding a using statement to the current file. Set a bookmark so I don&rsquo;t lose my place, go to the top of the file (ctrl-home), add the using statement, then jump back to the bookmark. 
			</p>
			</td>
		</tr>
		<tr id="v6wu141" style="height: 3.5pt">
			<td id="v6wu142" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 3.5pt">
			<p id="v6wu143" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>Ctrl-k ctrl-n</strong> 
			</p>
			</td>
			<td id="v6wu148" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 3.5pt">
			<p id="v6wu149" class="MsoNormal">
			Navigates to the next bookmark. Because this gets annoying when there are lots of bookmarks in the file, I generally toggle the bookmark off as soon as I get back to it. 
			</p>
			</td>
		</tr>
		<tr id="v6wu152" style="height: 45pt">
			<td id="v6wu153" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 45pt">
			<p id="v6wu154" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>Ctrl-i</strong> 
			</p>
			</td>
			<td id="v6wu159" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 45pt">
			<p id="v6wu160" class="MsoNormal">
			Incremental search is a great way to search really quickly: you type ctrl-i and then immediately start typing the word you&rsquo;re looking for. As you type each letter, VS.NET will find the first instance of what you&rsquo;ve typed so far. So, for example, if you&rsquo;re looking for &ldquo;foo&rdquo;, you type ctrl-i, then &ldquo;f&rdquo;, and it will find the first instance of &ldquo;f&rdquo;. Then you type &ldquo;o&rdquo; and it will find the first instance of &ldquo;fo&rdquo;. If that&rsquo;s &ldquo;foo&rdquo;, you&rsquo;re done. If it&rsquo;s &ldquo;for&rdquo; you can either type &ldquo;o&rdquo; again to look for &ldquo;foo&rdquo; or type ctrl-i again to look for the next instance of &ldquo;fo&rdquo;. Emacs has had this forever, but it&rsquo;s nice to have it in VS.NET, too. 
			</p>
			</td>
		</tr>
		<tr id="v6wu163" style="height: 3.5pt">
			<td id="v6wu164" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 3.5pt">
			<p id="v6wu165" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>Ctrl-k Ctrl-c</strong> 
			</p>
			</td>
			<td id="v6wu170" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 3.5pt">
			<p id="v6wu171" class="MsoNormal">
			Puts &ldquo;//&rdquo; comments in front of whatever text is currently selected. 
			</p>
			</td>
		</tr>
		<tr id="v6wu174" style="height: 3.5pt">
			<td id="v6wu175" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 3.5pt">
			<p id="v6wu176" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>Ctrl-k Ctrl-u</strong> 
			</p>
			</td>
			<td id="v6wu181" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 3.5pt">
			<p id="v6wu182" class="MsoNormal">
			Removes &ldquo;//&rdquo; comments from the front of whatever text is currently selected 
			</p>
			</td>
		</tr>
		<tr id="v6wu185" style="height: 0.5in">
			<td id="v6wu186" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 0.5in">
			<p id="v6wu187" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>Ctrl-shift-space</strong> 
			</p>
			</td>
			<td id="v6wu192" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 0.5in">
			<p id="v6wu193" class="MsoNormal">
			Pops up the method information list you normally get when you hit &ldquo;(&ldquo; after typing a method name in. I use this all the time, as I often start typing in the method&rsquo;s parameters, then have to go do something else, like read the help. When I come back, this key sequence lets me pop up the completion list again. 
			</p>
			</td>
		</tr>
		<tr id="v6wu196" style="height: 27pt">
			<td id="v6wu197" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 27pt">
			<p id="v6wu198" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>F12</strong> 
			</p>
			</td>
			<td id="v6wu203" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 27pt">
			<p id="v6wu204" class="MsoNormal">
			Jumps to the definition of whatever the cursor is on. Useful for when you&rsquo;re thinking, &ldquo;Umm, what does this method do?&rdquo; Combine with ctrl-minus to jump right back to where you were. 
			</p>
			</td>
		</tr>
		<tr id="v6wu207" style="height: 13.5pt">
			<td id="v6wu208" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 13.5pt">
			<p id="v6wu209" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>F7</strong> 
			</p>
			</td>
			<td id="v6wu214" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 13.5pt">
			<p id="v6wu215" class="MsoNormal">
			VS.NET often insists on showing me the stupid designer view when what I want to see is the code. F7 shows me the code. 
			</p>
			</td>
		</tr>
		<tr id="v6wu219" style="height: 21.75pt">
			<td id="v6wu220" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 21.75pt">
			<p id="v6wu221" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>Shift-F7</strong> 
			</p>
			</td>
			<td id="v6wu226" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 21.75pt">
			<p id="v6wu227" class="MsoNormal">
			Sometimes I actually do want to see the designer. This will show it to me when I&rsquo;m in the corresponding code file. 
			</p>
			</td>
		</tr>
		<tr id="v6wu230" style="height: 3.5pt">
			<td id="v6wu231" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 3.5pt">
			<p id="v6wu232" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>Ctrl-F6</strong> 
			</p>
			</td>
			<td id="v6wu235" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 3.5pt">
			<p id="v6wu236" class="MsoNormal">
			Allows you to move the next document window. 
			</p>
			</td>
		</tr>
		<tr id="v6wu239" style="height: 3.5pt">
			<td id="v6wu240" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 3.5pt">
			<p id="v6wu241" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>Ctrl-shift-F6</strong> 
			</p>
			</td>
			<td id="v6wu246" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 3.5pt">
			<p id="v6wu247" class="MsoNormal">
			Allows you to move the previous document window. 
			</p>
			</td>
		</tr>
		<tr id="v6wu250" style="height: 3.5pt">
			<td id="v6wu251" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 3.5pt">
			<p id="v6wu252" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>CTRL + &ldquo;K&rdquo; + &ldquo;M&rdquo;</strong> 
			</p>
			</td>
			<td id="v6wu256" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 3.5pt">
			<p id="v6wu257" class="MsoNormal">
			Incase you need to add a method to an<br />
			already existing class 
			</p>
			</td>
		</tr>
		<tr id="v6wu261" style="height: 53.25pt">
			<td id="v6wu262" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 53.25pt">
			<p id="v6wu263" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>CTRL + &ldquo;-&rdquo; and CTRL + SHIFT + &ldquo;-&rdquo;</strong> 
			</p>
			</td>
			<td id="v6wu267" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 53.25pt">
			<p id="v6wu268" class="MsoNormal">
			These two are similar to the Forward and Backwards buttons of the WebBrowsers and will take you to all the places your curser was, Very useful for those times you click F12 to go to definitions and then have no clue where you were before 
			</p>
			</td>
		</tr>
		<tr id="v6wu271" style="height: 0.25in">
			<td id="v6wu272" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 0.25in">
			<p id="v6wu273" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>ALT + ENTER</strong> 
			</p>
			</td>
			<td id="v6wu277" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 0.25in">
			<p id="v6wu278" class="MsoNormal">
			We talked about it in the last post, but it seems that this shortcut will open the properties window on anything that moves, even Files in your Windows Explorer. 
			</p>
			</td>
		</tr>
		<tr id="v6wu281" style="height: 36.75pt">
			<td id="v6wu282" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 36.75pt">
			<p id="v6wu283" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>SHIFT + ALT + ENTER</strong> 
			</p>
			</td>
			<td id="v6wu287" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 36.75pt">
			<p id="v6wu288" class="MsoNormal">
			This one will switch you Visual Studio to Full Screen mode, which is very useful in those boring presentation when you have to show your code through a projector on a screen. Another click will get you back to normal mode 
			</p>
			</td>
		</tr>
		<tr id="v6wu292" style="height: 35.25pt">
			<td id="v6wu293" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 35.25pt">
			<p id="v6wu294" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>CTRL + &ldquo;M&rdquo; + &ldquo;M&rdquo;</strong> 
			</p>
			</td>
			<td id="v6wu298" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 35.25pt">
			<p id="v6wu299" class="MsoNormal">
			This one will collapse the region your cursor is at whether its a method, namespace or whatever for collapsing code blocks, regions and methods. The first will collapse only the block/method or region your cursor is at while the second will collapse the entire region you are at. 
			</p>
			</td>
		</tr>
		<tr id="v6wu302" style="height: 27pt">
			<td id="v6wu303" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 27pt">
			<p id="v6wu304" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>CTRL + ALT + &ldquo;P&rdquo;</strong> 
			</p>
			</td>
			<td id="v6wu308" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 27pt">
			<p id="v6wu309" class="MsoNormal">
			This will open up the attach to process window, very useful for debugging. 
			</p>
			</td>
		</tr>
		<tr id="v6wu312" style="height: 3.5pt">
			<td id="v6wu313" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 3.5pt">
			<p id="v6wu314" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>CTRL + &ldquo;R&rdquo; + &ldquo;R</strong> 
			</p>
			</td>
			<td id="v6wu318" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 3.5pt">
			<p id="v6wu319" class="MsoNormal">
			This one is used to quickly rename a method/ variable or whatever. 
			</p>
			</td>
		</tr>
		<tr id="v6wu322" style="height: 26.25pt">
			<td id="v6wu323" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 26.25pt">
			<p id="v6wu324" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>F8 and SHIFT + F8</strong> 
			</p>
			</td>
			<td id="v6wu328" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 26.25pt">
			<p id="v6wu329" class="MsoNormal">
			These two are great! they are similar to the shortcut number 3 but they will take you forward and backwards in your search results just search for something and then start hitting F8 and you will see 
			</p>
			</td>
		</tr>
		<tr id="v6wu332" style="height: 3.5pt">
			<td id="v6wu333" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 3.5pt">
			<p id="v6wu334" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>CTRL + SHIFT + &ldquo;B&rdquo;</strong> 
			</p>
			</td>
			<td id="v6wu338" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 3.5pt">
			<p id="v6wu339" class="MsoNormal">
			This one will invoke build solution. 
			</p>
			</td>
		</tr>
		<tr id="v6wu342" style="height: 27pt">
			<td id="v6wu343" width="228" style="border-style: none solid solid; border-color: -moz-use-text-color; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 171pt; height: 27pt">
			<p id="v6wu344" style="margin-left: 0.05in; text-align: center" class="MsoNormal" align="center">
			<strong>CTRL + &ldquo;B&rdquo; + &ldquo;T&rdquo;</strong> 
			</p>
			</td>
			<td id="v6wu348" width="480" valign="top" style="border-style: none solid solid none; border-color: -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 5in; height: 27pt">
			<p id="v6wu349" class="MsoNormal">
			This one will allow you to quickly add or remove a bookmark from a line of code. 
			</p>
			</td>
		</tr>
	</tbody>
</table>
<p>
<br />
<a href="/file.axd?file=2008%2f9%2fVisual+Studio+ShortCuts.doc">Visual Studio ShortCuts.doc (54,50 kb)</a> 
</p>
]]></content>
      <post-name type="text"><![CDATA[Visual Studio ShortCuts]]></post-name>
      <excerpt type="text"><![CDATA[Visual Studio ShortCuts]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" />
      </categories>
      <tags>
        <tag ref="visual studio" />
        <tag ref=".net framework" />
        <tag ref=".net" />
        <tag ref="c#" />
        <tag ref="майкрософт" />
      </tags>
      <comments>
        <comment id="8fcc1fc7-e363-461f-b53e-3a85858de08f" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-09-17T01:07:06" date-modified="2008-09-17T01:07:06" approved="true" user-name="PoiSoN" user-email="poison77@gmail.com" user-ip="79.181.102.17" user-url="http://virtser.net/blog/">
          <title type="text"><![CDATA[re: Visual Studio ShortCuts]]></title>
          <content type="text"><![CDATA[Спасибо, пригодиться!]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="ee33e3df-86b2-4f94-9faf-59a7d42952d5" date-created="2008-09-07T16:31:00" date-modified="2009-08-16T06:40:08" approved="true" post-url="/BlogEngine.Web/post/2008/09/07/BlogEngineNet-pervoe-vpechatlenie.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[BlogEngine.Net: первое впечатление]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2fbenlogo80.gif" alt="BlogEngine.NET: первое впечатление" title="BlogEngine.NET: первое впечатление" align="left" />Некоторое время назад я столкнулся с проблемой выбора блог-платформы. Вначале попробовал поиграться с <a id="n7py" href="http://wordpress.org/" title="WordPress">WordPress</a>,
создал там блог, поклацал и оставил. Больше всего меня смущало
присутствие в доменном имени концовки &quot;wordpress.com&quot;.... Да и не
нравятся мне массовые блог-платформы. Поэтому захотелось поднять
автономный блог. К сожалению, с PHP в свое время мне не удалось
подружиться, поэтому данное направление я откинул сразу и начал искать
какие-то opensource&#39;ные разработки на ASP.NET. В результате поиска мой
взгляд устремился в сторону <a id="pfra" href="http://dotnetblogengine.net/" title="BlogEngine.Net">BlogEngine.Net</a>, на момент скачивания версия была 1.4.5.0.<br />
Теперь
по сути. Прошедшие две недели мне пришлось довольно плотно поработать с
этим продуктом, сейчас хочу поделиться первыми впечатлениями.<br />
На
данный момент в системе присутствует немалое количество багов разной
сложности, а так это opensource, то полагаться на то, что кто-то их
пофиксит в разумные сроки, не приходится. Поэтому засучив рукав, целый
вечер провёл в &quot;багфиксинге&quot;. <strong>Основные проблемы, с которыми я
столкнулся, это:</strong><br />
1. При использовании в качестве хранилища
данных MS SQL Server (по умолчанию используется XML-файлы, которые
хранятся на диске) не работает так как нужно сохранение страниц. Если в
XML-провайдере реализовано сохранение синонима имени страницы (slug),
то для SQL-провайдера такого, к сожалению, нет. Отсюда и вылазит
следующая бага: Создаём страницу, указываем её slug-имя About-Me,
сохраняем. По умолчанию, меню блога имеет пункт About Me, ссылка в моём
случае следующая: <a id="op.b" href="/page/About-Me.aspx" title="http://andreykuzmenko.com/page/About-Me.aspx">http://andreykuzmenko.com/page/About-Me.aspx</a> . Переходим по этой ссылке и всё красиво работает....минут 20. Потом после очередного клика по About Me обнаруживаем:<br />
<img src="/image.axd?picture=2008%2f9%2fUntitled.png" alt="Ошибка отсутствия страницы" title="Ошибка отсутствия страницы" width="657" height="578" />
</p>
<p>
<br />
Видно
они запихивают вновь созданную страницу в кеш и по истечении
установленого времени кеш очищается. А так как в базе не хранится slug
для созданной страницы, то её адрес привязывается к заголовку страницы.
Заголовок страницы &quot;About me&quot; у меня &quot;Обо мне&quot;. Через то, что он на
русском, BlogEngine.Net преобразовывает его в
&quot;d09ed0b1d0be-d0bcd0bdd0b5&quot; и в итоге путь страницы выглядит так <a id="h6-3" href="/page/d09ed0b1d0be-d0bcd0bdd0b5.aspx" title="http://andreykuzmenko.com/page/d09ed0b1d0be-d0bcd0bdd0b5.aspx">http://andreykuzmenko.com/page/d09ed0b1d0be-d0bcd0bdd0b5.aspx</a>. К счастью, эту проблему я решил, выполнив такие шаги:<br />
- добавил в таблицу Pages новое поле Slug nvarchar(255):<br />
- дописал функции Insert и Update в классе DbBlogProvider для работы с Slug.<br />
PS: Временным решением этой проблемы могло бы быть присваивание имени
заголовка на английском языке и тогда бы никакого преобразования не
было б. Но перспектива создания страниц с заголовками на английском не
очень радует. Если в случае c &quot;About me&quot; перевjl не составляет особого
труда, то в других случаях читателям бы пришлось бы поломать голову при
переводе заголовка.<br />
<br />
2. Как я ни крутил настройку почты, ну никак не получается подписаться
на комментарии к постам, точно также как и не получается отослать
письмо в разделе &quot;Написать письмо&quot;. Странно то, что отсылка тестового
письма в настройках блога проходит успешно. Ох я бы кому-то что-то
поотрывал. ;))<br />
<br />
Впринципе, это две основные проблемы с которыми на данный момент мне
пришлось столкнуться. В целом BlogEngine.Net очень хорошая
блог-платформа, не смотря на имеющиеся погрешности. Так что я пока
пребываю в позитиве.<br />
</p>
]]></content>
      <post-name type="text"><![CDATA[BlogEngine.Net: первое впечатление]]></post-name>
      <excerpt type="text"><![CDATA[Блог-платформа BlogEngine.Net, Блог-платформа, ASP.NET]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="5c1a7791-b10c-4032-99ae-37605b09eb96" />
      </categories>
      <tags>
        <tag ref=".net" />
        <tag ref="c#" />
        <tag ref="разное" />
        <tag ref="блог" />
        <tag ref="blogengine.net" />
      </tags>
      <comments>
        <comment id="3d2fbd67-5388-4ddc-bdd0-ea48c54d1626" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-09-16T05:10:33" date-modified="2008-09-16T05:10:33" approved="true" user-name="PoiSoN" user-email="poison77@gmail.com" user-ip="79.181.102.17" user-url="http://virtser.net/blog/">
          <title type="text"><![CDATA[re: BlogEngine.Net: первое впечатление]]></title>
          <content type="text"><![CDATA[Насчет транслита путей, есть плагин у меня:
http://virtser.net/blog/post/translit-url-postov-dlya-blogenginenet.aspx]]></content>
        </comment>
        <comment id="ed374620-d6ff-4c82-93c8-779b9c86a095" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-09-16T06:45:33" date-modified="2008-09-16T06:45:33" approved="true" user-name="Andrey" user-email="a.kuzmenko2007@gmail.com" user-ip="78.111.187.160" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: BlogEngine.Net: первое впечатление]]></title>
          <content type="text"><![CDATA[Да, нужно будет поставить, а то хоть и редко приходится делать перевод, порой надоедает бегать на онлайн сервис.]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="67eb8ab8-f270-468c-b053-f77438be0709" date-created="2008-09-06T06:42:00" date-modified="2009-08-16T06:36:48" approved="true" post-url="/BlogEngine.Web/post/2008/09/06/Change-blog-name.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Переименование блога]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2f1195550539_net.jpg" alt="Microsoft .NET Framework" title="Microsoft .NET Framework" width="150" height="187" align="left" />Теплое, как ни странно в эту пору, суботнее утро навеело новые мысли по
поводу имени блога. Название которое я придумал в начале (Andrew&#39;s
blog), кроме того что говорит о том, что это персональный блог, не о
чем другом не говорит. Решил я его переименовать на &quot;Записки Веб-разработчика&quot;. Сначала хотелось присвятить его .NET Framework&#39;ку, но вскоре я понял, что это не единое направление, которое мне интересно. Поэтому решил выбрать что-то среднее. 
</p>
<p>
&nbsp;
</p>
]]></content>
      <post-name type="text"><![CDATA[Переименование блога]]></post-name>
      <excerpt type="text"><![CDATA[Переименовывание блога с Andrew's blog на Записки Веб-разработчика]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="5c1a7791-b10c-4032-99ae-37605b09eb96" />
        <category ref="bab5bf47-abd6-4b6c-b452-d9a9bc0f2a34" />
      </categories>
      <tags>
        <tag ref="о жизни" />
        <tag ref="разное" />
        <tag ref=".net" />
        <tag ref=".net framework" />
        <tag ref="блог" />
      </tags>
    </post>
    <post id="8b654584-4a96-4bc7-bf1a-deaed99efa0c" date-created="2008-09-04T12:38:00" date-modified="2009-08-16T06:33:12" approved="true" post-url="/BlogEngine.Web/post/2008/09/04/Whats-the-difference-between-ResponseRedirect-and-ServerTransfer.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Как разница между методом Response.Redirect и Server.Transfer?]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2fMicrosoft1.png" alt="Microsoft .NET Framework: Как разница между методом Response.Redirect и Server.Transfer?" title="Microsoft .NET Framework: Как разница между методом Response.Redirect и Server.Transfer?" align="left" />Вызывая метод Response.Redirect, сервер отсылает клиентскому браузеру
HTTP header со статус-кодом (302), который означает, что обьект был
перемещён. Так же в заголовке указывается новое место обьекта. Смотрим,
что получается после вызова Response.Redirect(&quot;~/Default.aspx&quot;):
</p>
<p>
&nbsp;
<br />
<br />
[code=xml]<br />
<strong>HTTP/1.1 302 Found</strong><br />
Server: ASP.NET Development Server/9.0.0.0<br />
Date: Thu, 04 Sep 2008 11:59:21 GMT<br />
X-AspNet-Version: 2.0.50727<br />
<strong>Location: /Default.aspx</strong><br />
Cache-Control: private<br />
Content-Type: text/html; charset=utf-8<br />
Content-Length: 130<br />
Connection: Close<br />
<br />
&lt;html&gt;&lt;head&gt;&lt;title&gt;Object moved&lt;/title&gt;&lt;/head&gt;&lt;body&gt;<br />
&lt;h2&gt;Object moved to &lt;a href=&quot;/Default.aspx&quot;&gt;here&lt;/a&gt;.&lt;/h2&gt;<br />
&lt;/body&gt;&lt;/html&gt;<br />
[/code]<br />
Если
клиентский браузер нормально воспринимает перенаправления, то такой
страницы вы не увидите. Браузер автоматически запросит ресурс по
указанном Location.
</p>
<p>
<strong>На заметку</strong> 
</p>
<p>
1. В том случае, когда первоначальный запрос был вызван
POST-методом, после перенаправления методом Response.Redirect на другую
страницу теряются все данные формы. <br />
2. Благодаря же тому, что браузер посылает второй запрос, его возможно перенаправить на внешний ресурс.<br />
<br />
Теперь
пару слов о Server.Transfer. В отличии от Response.Redirect данный
метод перенаправляет выполнение с одной страницы на другую на сервере.
Это хорошо проявляется,&nbsp; если посмотреть на Url, после перенаправления.
Он такой же как и в первом запросе. Более подробно на примере:<br />
Браузер запрашивает страницу http://localhost:4107/Default.aspx. Метод Page_Load страницы выглядит так
[code=csharp]protected void Page_Load(object sender, EventArgs e)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp; Server.Transfer(&quot;~/Foo.aspx&quot;);<br />
}
[/code]<br />
Смотрим на Url, он остался таким же (http://localhost:4107/Default.aspx), но в браузере отображена страница Foo.aspx.<br />
Ещё
одним замечальным свойством Server.Transfer является то, что он
позволяет передавать второй странице данные формы и строки запроса
первой. Если же такие данные на второй странице не нужны, можно
почистить их передав вторым параметром false. Пример:
[code=csharp]<br />
Server.Transfer(&quot;~/Foo.aspx&quot;, false);
[/code]<br />
<strong>
На заметку</strong><br />
1. Если первая страница записывает что-то в буфер ответа (Response), то
перед вызовом Server.Transfer Response нужно почистить, иначе получится
каша: содержимое второй страницы добавится после содержимого первой
страницы.<br />
2. Так Server.Transfer выполняется на сервере, невозможно перенаправить запрос на внешний сайт.
</p>
]]></content>
      <post-name type="text"><![CDATA[Как разница между методом Response.Redirect и Server.Transfer?]]></post-name>
      <excerpt type="text"><![CDATA[В данной статье рассматривается разница между методом Response.Redirect и Server.Transfer]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" />
        <category ref="c546e127-e412-4620-89ea-3e5833469830" />
      </categories>
      <tags>
        <tag ref=".net" />
        <tag ref="c#" />
        <tag ref="faq" />
        <tag ref="собеседование" />
        <tag ref=".net framework" />
        <tag ref="asp.net" />
      </tags>
      <comments>
        <comment id="669652af-5754-4748-8159-4c3a0bdf05d0" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-10-26T02:54:06" date-modified="2008-10-26T02:54:06" approved="true" user-name="p.tumash" user-email="swap2006@gmail.com" user-ip="92.112.62.247" user-url="">
          <title type="text"><![CDATA[re: Как разница между методом Response.Redirect и Server.Transfer?]]></title>
          <content type="text"><![CDATA[[b]Зачет![/b] Побольше выкладывай таких коротких постов. Полезно и не занимают много времени на изучение.]]></content>
        </comment>
        <comment id="b4c1bc14-a7fa-4ea5-9e82-bda1422cdfc0" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-10-26T08:06:02" date-modified="2008-10-26T08:06:02" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="195.69.221.234" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Как разница между методом Response.Redirect и Server.Transfer?]]></title>
          <content type="text"><![CDATA[ок, есть у меня ещё парочка подобных постов. Будет время выложу.]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="b5170568-3f34-4119-87f3-b973181ebb1b" date-created="2008-09-04T03:36:00" date-modified="2008-09-29T17:13:50" approved="true" post-url="/BlogEngine.Web/post/2008/09/04/Whats-the-difference-between-the-Finalize-method-and-destructor.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Как разница между методом Finalize и деструктором в C#?]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2fMicrosoft1.png" alt="Microsoft .NET Framework: Как разница между методом Finalize и деструктором?" title="Microsoft .NET Framework: Как разница между методом Finalize и деструктором?" align="left" />
Как известно, в C# не нужно заботиться об освобождении памяти, так как
это приходится делать в том же С++, ведь всю рутинную работу по
управлению памятью перебрал на себя GC. Но всё же иногда класс должен
сам заботиться об &quot;уборке&quot;, это касается тех случаев, когда он
использует неуправляемые ресурсы (прямой доступ к дескрипторам файлов
ОС, соединение с базой данных). Метод Finalize, что наследуется от класса Object
как раз и предназначен для освобождения неуправляемых ресурсов. Данный
метод вызывается GC на этапе освобождения памяти, занимаемой обьектом. Всё казалось бы просто: переопределяем метод Finalize
в дочернем классе, реализовываем логику освобождения ресурсов и всё....
Но не тут то было. И хотя в базовом класе он обьявлен следующим образом:<br />
[code=csharp]public class Object<br />
{<br />
&nbsp;&nbsp;&nbsp; //.....<br />
&nbsp;&nbsp;&nbsp;&nbsp;protected virtual void Finalize()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
[/code]<br />
Написать что-то вроде<br />
[code=csharp]//Помним, что все классы неявно наследуются от Object<br />
public class First <br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;protected override void Finalize(){}<br />
}<br />
[/code]<br />
увы, нет возможности. Компилятор выдаст ошибку <br />
<strong>
Do not override object.Finalize. Instead, provide a destructor. </strong><br />
<br />
В
этом сообщении и кроется подсказка. Явно переопределить метод Finalize
нельзя, нужно вместо него использовать деструктор. Синтаксис
деструктора в C# похож на синтаксис в С++. Пример:<br />
[code=csharp]class First <br />
{<br />
&nbsp;&nbsp;&nbsp; ~First()<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;First destructor was called&quot;);<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
[/code]<br />
А теперь попробуем дизасемблировать этот код с помощью IlDasm. Смотрим результат:<br />
[code=csharp].method family hidebysig virtual instance void <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Finalize() cil managed<br />
{<br />
&nbsp; // Code size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25 (0x19)<br />
&nbsp; .maxstack&nbsp; 1<br />
&nbsp; .try<br />
&nbsp; {<br />
&nbsp;&nbsp;&nbsp; IL_0000:&nbsp; nop<br />
&nbsp;&nbsp;&nbsp; IL_0001:&nbsp; ldstr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;First destructor was called&quot;<br />
&nbsp;&nbsp;&nbsp; IL_0006:&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void [mscorlib]System.Console::WriteLine(string)<br />
&nbsp;&nbsp;&nbsp; IL_000b:&nbsp; nop<br />
&nbsp;&nbsp;&nbsp; IL_000c:&nbsp; nop<br />
&nbsp;&nbsp;&nbsp; IL_000d:&nbsp; leave.s&nbsp;&nbsp;&nbsp; IL_0017<br />
&nbsp; }&nbsp; // end .try<br />
&nbsp; finally<br />
&nbsp; {<br />
&nbsp;&nbsp;&nbsp; IL_000f:&nbsp; ldarg.0<br />
&nbsp;&nbsp;&nbsp; IL_0010:&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; instance void [mscorlib]System.Object::Finalize()<br />
&nbsp;&nbsp;&nbsp; IL_0015:&nbsp; nop<br />
&nbsp;&nbsp;&nbsp; IL_0016:&nbsp; endfinally<br />
&nbsp; }&nbsp; // end handler<br />
&nbsp; IL_0017:&nbsp; nop<br />
&nbsp; IL_0018:&nbsp; ret<br />
} // end of method First::Finalize<br />
[/code]<br />
Что же получилось?! В результате компиляции деструктор преобразовался в метод Finalize. Метод 
Finalize содержит тело деструктора в блоке try, за которым следует блок finally, где вызывается метод Finalize базоваго класса. С выше сказанного можна сделать вывод, что <em>в C# метод Finalize и деструктор - это одно и тоже</em>.<br />
<strong><br />
Что нужно помнить:</strong><br />
1. Деструкторы вызываюся автоматически, их не нужно вызываять явно.<br />
2. Деструкторы не могу быть перегружены, как следствие, каждый класс может иметь ноль или один деструктор.<br />
3. Деструкторы могут быть только у классов.<br />
4. Деструкторы не наследуются.<br />
5. Вызов деструктора может произойти в любой момент после того как обьект был помечен на удаление.<br />
6. Когда обьект удаляется, деструкторы вызываюся в порядке от дочернего к родительскому.&nbsp;
</p>
]]></content>
      <post-name type="text"><![CDATA[Как разница между методом Finalize и деструктором в C#?]]></post-name>
      <excerpt type="text"><![CDATA[В данной статье рассказывается об разнице между методом Finalize и деструктором в C#]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="10930587-3d56-4bfe-89ca-e5269796c844" />
      </categories>
      <tags>
        <tag ref=".net" />
        <tag ref="c#" />
        <tag ref="faq" />
        <tag ref="собеседование" />
      </tags>
    </post>
    <post id="2e1c3ddb-c3d6-437a-9da4-c926fbc1eba3" date-created="2008-09-01T04:59:00" date-modified="2009-08-16T06:15:40" approved="true" post-url="/BlogEngine.Web/post/2008/09/01/Ekzamen-70-528-Microsoft-NET-Framework-20-e28093-Web-Based-Client-Development.aspx" type="normal" hasexcerpt="true" views="0" is-published="True">
      <title type="text"><![CDATA[Экзамен 70-528 Microsoft .NET Framework 2.0 – Web Based Client Development]]></title>
      <content type="text"><![CDATA[<p>
<img src="/image.axd?picture=2008%2f9%2fmcp.png" alt="MCP, Microsoft certified professional" title="MCP, Microsoft certified professional" width="249" height="112" align="left" />
Решил наконец-то выделить время для подготовки к сдаче экзамена <em>70-528</em>
Microsoft .NET Framework 2.0 &ndash; Web Based Client Development. Уже как
год собираюсь, но никак не собирусь. Постоянно что-то мешает. Как не
учёба или работа, так лень окончательно расслабляет. Но теперь всё,
отучился, как никак небольшая экономия времени есть. Уже не нужно
разрываться между парами и работой, устраивать забеги по городу с
одного конца в другой. Так что планирую где-то в конце этого месяца, ну
или может в начале следующего получить статус MCP. Посмотрим как планы
совпадут с реальностью, очень уж это неблагодарное дело.
</p>
<p>
Я может бы особо не старался сдавать экзамен, но на работе очень
приветствуется как в плане развития человека, так и в плане финансов. А
раз приветствуется, значит буду сдавать.<br />
Может кому-то будет интересно выкладываю ссылку на&nbsp;<a id="nsr4" href="http://examcollection.com/70-528.html" title="braindump'ы по 70-528 Microsoft .NET Framework 2.0 &ndash; Web Based Client Development">braindump&#39;ы по 70-528 Microsoft .NET Framework 2.0 &ndash; Web Based Client Development</a>. Программу дл запуска файлов можно найти на этом же сайте.<br />
<br />
PS: по ходу накопления знаний буду отписываться по текущему состоянию процесса подготовки.<br />
</p>
]]></content>
      <post-name type="text"><![CDATA[Экзамен 70-528 Microsoft .NET Framework 2.0 – Web Based Client Development]]></post-name>
      <excerpt type="text"><![CDATA[70-528 Microsoft .NET Framework 2.0 – Web Based Client Development]]></excerpt>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="8e0111bd-44b1-4404-8256-e78dbe75b56c" />
        <category ref="7cdbe65c-f7a7-4ae4-9885-3338d2192021" />
        <category ref="816931e0-5d5d-4cfa-ab62-1a6c0a3c37bf" />
      </categories>
      <tags>
        <tag ref="майкрософт" />
        <tag ref="сертификация" />
        <tag ref="mcp" />
        <tag ref="asp.net" />
        <tag ref=".net" />
        <tag ref="c#" />
        <tag ref="веб-приложения" />
      </tags>
      <comments>
        <comment id="a98f49fd-bc9a-4e59-8850-3bd28ca9fa1d" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-12-07T04:29:44" date-modified="2008-12-07T04:29:44" approved="true" user-name="Oleg" user-email="galtsevos@mail.ru" user-ip="213.184.241.240" user-url="">
          <title type="text"><![CDATA[re: Экзамен 70-528 Microsoft .NET Framework 2.0 – Web Based Client Development]]></title>
          <content type="text"><![CDATA[Мот перечислишь список ресурсов, книг и всего того, что может помочь в  подготовке к экзаменам 70-528, ну и к 70-536]]></content>
        </comment>
        <comment id="24a97045-7756-491d-a961-4291b9bd48c5" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-12-07T10:37:33" date-modified="2008-12-07T10:37:33" approved="true" user-name="AndrewK" user-email="a.kuzmenko2007@gmail.com" user-ip="195.69.221.234" user-url="http://andreykuzmenko.com/">
          <title type="text"><![CDATA[re: Экзамен 70-528 Microsoft .NET Framework 2.0 – Web Based Client Development]]></title>
          <content type="text"><![CDATA[Подготовка к майкрософтовским экзаменам может проходить в двух направлениях:
1. Если нужно просто сдать и при этом особо не напрягаться, тогда заходим на сайт, указанный в посте, качаем тесты, заучиваем ответы и вперёд сдавать. Вопросы полностью совпадают с реальным тестом.
2. Если охота получить знания, тогда придётся немного напрячься. 
В случае 70-528 я готовился так:
- прочитал книгу Метью Мак-Дональд, Марио Шпушта &quot;Microsoft ASP.NET 2.0 с примерами на C# 2005 для профессионалов.pdf&quot; (в инете присутствует в электронном варианте)
- немного смотрел по мобильным приложениям книгу С.Байдачного ASP.NET 2.0. Секреты создания Web-приложений
- на rsdn.ru есть пару статей по ASP.NET, тоже можно посмотреть.
- проходил тесты на BrainBench, infotest.by
- ну и в конце хорошо разобрался braindump'ах

В случае 70-536:
- обязательно нужно помотреть Рихтера CLR via C#
- читал немного Троелсена &quot;Язык программирования C# 2005 (Си Шарп) и платформа .NET 2.0 &quot;
- на rsdn.ru по .NET очень много интересных статей, рекомендую посмотреть.
- в этом экзамене много материала, который есть только в этой книге &quot;Основы разработки приложений на платформе Microsoft .NET Framework. Учебный курс Microsoft экзамен 70-536&quot;, есть в электронном варианте.
- ну и конечно же тесты

Вот, впринципе, и всё.]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
    <post id="7a1e1d7f-1b14-41e0-ad15-6097a61a9994" date-created="2008-08-31T11:02:00" date-modified="2008-09-04T15:01:05" approved="true" post-url="/BlogEngine.Web/post/2008/08/31/Ljod-tronulsja-ili-ja-reshil-stat-bloggerom.aspx" type="normal" hasexcerpt="false" views="0" is-published="True">
      <title type="text"><![CDATA[Лёд тронулся или я решил стать блоггером]]></title>
      <content type="text"><![CDATA[<img src="/image.axd?picture=2008%2f8%2fimages.jpg" alt="" width="112" height="124" align="left" />С дня появления идеи запустить свой блог прошло не так уж много времени. Хотя я с осторожностью всегда отношусь к чему-то новому, должен признать, что это решение было принято быстро. Надо же как-то разнообразить свою жизнь, немного отвлечься от работы, которая в последнее время поднадоела, попробовать себя в чём-то новом.<br />
<br />
PS: Надеюсь мне хватит оптимизма, вдохновения и, конечно же, времени, чтобы регулярно писать в блог.
]]></content>
      <post-name type="text"><![CDATA[Лёд тронулся или я решил стать блоггером]]></post-name>
      <authors>
        <author ref="AndrewK" />
      </authors>
      <categories>
        <category ref="64ffe3fd-8fb1-4019-8221-a120da6acd5b" />
      </categories>
      <tags>
        <tag ref="разное" />
      </tags>
      <comments>
        <comment id="211740b6-8e21-4fa7-9e2e-8abf5b5a7bb0" parentid="00000000-0000-0000-0000-000000000000" date-created="2008-09-05T04:27:51" date-modified="2008-09-05T04:27:51" approved="true" user-name="JTOne" user-email="jthotbox@gmail.com" user-ip="85.223.178.70" user-url="http://jthotblog.blogspot.com/">
          <title type="text"><![CDATA[re: Лёд тронулся или я решил стать блоггером]]></title>
          <content type="text"><![CDATA[Ну давай, давай, будем читать)))))))))))))]]></content>
        </comment>
      </comments>
      <trackbacks />
    </post>
  </posts>
</blog>